Lexp1 Опубликовано 5 июня, 2008 Жалоба Поделиться Опубликовано 5 июня, 2008 Интересно, возвожно ли в DBGrid поменять местами строки на столбцы, а столбцы на строки.Т.е. чтоб новая запись была в новом столбце??? Ссылка на комментарий
Factor Опубликовано 5 июня, 2008 Жалоба Поделиться Опубликовано 5 июня, 2008 А сам как думаешь? Могут ли атрибуты,например, одной из таблиц реляционной базы данных стать записями этой таблицы? Вся суть этой модели данных тогда меняется...это уже не реляционная модель данных, а нечто новое. Ссылка на комментарий
bayarookie Опубликовано 5 июня, 2008 Жалоба Поделиться Опубликовано 5 июня, 2008 можно, только тебе придётся свой компонент создать или поискать, может уже кто написал такой.а я в StringGrid выводил, если очень надо было, допустим, дохрена колонок, а записей только пара-тройка, тоже думал, как бы этот DBGrid повернуть набок, а новый компонент писать неохота, вывернулся так, думал временно, потом переделаю, но так и осталось до сих пор в StringGrid`е Ссылка на комментарий
Clondike Опубликовано 5 июня, 2008 Жалоба Поделиться Опубликовано 5 июня, 2008 А реализовать всю эту кухню с помощью DBGrid просто так невозможно, если конечно не лазить в исходники VCL, менять их или наследовать этот класс. Легче ИМХО занести результат запроса TQuery в массив, и вывести его наоборот в TStringGrid. Можно конечно обойтись и без массива, а напрямую сортировать записи.http://www.progz.ru/forum/index.php?showtopic=26943 Ссылка на комментарий
Lexp1 Опубликовано 6 июня, 2008 Автор Жалоба Поделиться Опубликовано 6 июня, 2008 а я в StringGrid выводил, если очень надо было, допустим, дохрена колонок, а записей только пара-тройка, тоже думал, как бы этот DBGrid повернуть набок, а новый компонент писать неохота, вывернулся так, думал временно, потом переделаю, но так и осталось до сих пор в StringGrid`едругой Grid бы какой-нибудь крутой Ссылка на комментарий
Factor Опубликовано 6 июня, 2008 Жалоба Поделиться Опубликовано 6 июня, 2008 Lexp1, ты выполняешь проект СУБД или просто у тебя в проекте одна таблица? В теории реляционных баз данных есть чёткие определения элементов таблицы реляционной БД - атрибута, записи. В частности, указывается, что запись - это строка таблицы базы данных, а атрибут - это столбец базы данных, другого не дано. Для чего менять местами эти определения, если всё это уже постулировано? Ссылка на комментарий
Lexp1 Опубликовано 6 июня, 2008 Автор Жалоба Поделиться Опубликовано 6 июня, 2008 Мда, отоброзить данные с малым количеством записей и огромным количеством полей с помощью StringGrida себя мучить, рядом с DBGrid-ом выстраивать в столбцы с Edit-ми тоже как-то не хочется... NextDBInspector в NextSuit-е пакете вроде норм отображает в столбец, но только одну запись, хотелось бы есчё какой-нибудь вариант... Ссылка на комментарий
Factor Опубликовано 6 июня, 2008 Жалоба Поделиться Опубликовано 6 июня, 2008 рядом с DBGrid-ом выстраивать в столбцы с Edit-ми тоже как-то не хочется...У тебя же полей записи мало (там кстати не Edit'ы должны быть, а DBEdit'ы).Можно ещё сделать ещё одну форму для ввода данных в поля очередной записи, на ней и разместить все DBEdit'ы? Поместить на первую форму DBNavigator и обрабатывать нажатия кнопок DBNavigator'а, например, по нажатию кнопки "+" в DBNavigator'e, добавлять новую запись, открывать форму для заполнения полей новой записи, затем по нажатию кнопки "Сохранить" на форме ввода, сохранять изменения, закрывать 2-ю форму и показывать 1-ю, главную форму. Ссылка на комментарий
Lexp1 Опубликовано 6 июня, 2008 Автор Жалоба Поделиться Опубликовано 6 июня, 2008 рядом с DBGrid-ом выстраивать в столбцы с Edit-ми тоже как-то не хочется...У тебя же полей записи мало (там кстати не Edit'ы должны быть, а DBEdit'ы).Можно ещё сделать ещё одну форму для ввода данных в поля очередной записи, на ней и разместить все DBEdit'ы? Поместить на первую форму DBNavigator и обрабатывать нажатия кнопок DBNavigator'а, например, по нажатию кнопки "+" в DBNavigator'e, добавлять новую запись, открывать форму для заполнения полей новой записи, затем по нажатию кнопки "Сохранить" на форме ввода, сохранять изменения, закрывать 2-ю форму и показывать 1-ю, главную форму. Я так и делал, но мне нужно отоброзить сразу все записи...Ещё раз, полей много, записей мало... Ссылка на комментарий
bayarookie Опубликовано 7 июня, 2008 Жалоба Поделиться Опубликовано 7 июня, 2008 я тут пошарил у себя, не нашёл, но помню, что было предельно просто, примерно так: StringGrid1.RowCount := DataModule1.Table1.FieldCount+1; StringGrid1.ColCount := 2; //вместо 2 надо DataModule1.Table1.RecCount+1 и соответственно ниже доработать StringGrid1.ColWidths[0] := 80; StringGrid1.ColWidths[1] := 200; for i:=0 to DataModule1.Table1.FieldCount-1 do begin StringGrid1.Cols[0].Strings[i+1] := DataModule1.Table1.Fields[i].FullName; StringGrid1.Cols[1].Strings[i+1] := DataModule1.Table1.Fields[i].AsString; end; Ссылка на комментарий
Lexp1 Опубликовано 7 июня, 2008 Автор Жалоба Поделиться Опубликовано 7 июня, 2008 Спасибо.Доработал:AdvStringGrid1.RowCount:=datamodule1.Qu_Otchet.FieldCount+1;AdvStringGrid1.ColCount:=datamodule1.Qu_Otchet.RecordCount+1;AdvStringGrid1.ColWidths[0]:=80;datamodule1.Qu_Otchet.First;for J := 1 to datamodule1.Qu_Otchet.RecordCount dobeginfor I := 0 to datamodule1.Qu_Otchet.FieldCount-1 dobegin AdvStringGrid1.Cols[0].Strings[i+1]:=datamodule1.Qu_Otchet.Fields[i].FullName; AdvStringGrid1.Cols[j].Strings[i+1]:=datamodule1.Qu_Otchet.Fields[i].AsString;end;datamodule1.Qu_Otchet.Next;end;работает Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти