Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.06;
Скачать: CL | DM;

Вниз

Программное добавление и определение колонки в DBGrid   Найти похожие ветки 

 
Fuelfire   (2003-09-17 07:44) [0]

Здравствуйте! Как программно можно определить колонку в DBGrid.. То есть с добавлением колонки проблем нет, а вот как назначить ей поле и отобразить в гриде? Буду признателен за любой примерный код..


 
ЮЮ ©   (2003-09-17 07:50) [1]

DbGrid.Columns.Items[Index].FieldName := ...
или
DbGrid.Columns[Index].FieldName := ...


 
Fuelfire   (2003-09-17 08:17) [2]

2 ЮЮ ©
Ага... Так приблизительно и делаю:

CheckListBox1.Checked[0]:=true;
CheckListBox1.Checked[1]:=true;
..
..
For i:=2 to (CheckListBox1.Items.Count-1) do
begin
if CheckListBox1.Checked[i] then
begin
Form8.DBGrid1.Columns.Add;
Case i of
2: Form8.DBGrid1.Columns[i].Field.FieldName:="Country";
3: Form8.DBGrid1.Columns[i].Field.FieldName:="Developer";
4: Form8.DBGrid1.Columns[i].Field.FieldName:="Year";
5: Form8.DBGrid1.Columns[i].Field.FieldName:="Net";
6: Form8.DBGrid1.Columns[i].Field.FieldName:="s-f";
7: Form8.DBGrid1.Columns[i].Field.FieldName:="ch";
8: Form8.DBGrid1.Columns[i].Field.FieldName:="wiz";
9: Form8.DBGrid1.Columns[i].Field.FieldName:="WWW";
end;
end;
end;

То есть есть форма с чеклистбоксом, где можно отмечать те поля, которые нужно отображать в гриде.. Два из них выделены всегда..
Выделяю 3 поле, жму "Сохранить".. Получаю ошибку..
Ругается делфя "Access violation" на выделенной строке..


 
ЮЮ ©   (2003-09-17 09:31) [3]

Найди разницу
Form8.DBGrid1.Columns[i].Field.FieldName
и
Form8.DBGrid1.Columns[i].FieldName

В первом, твоем, варианте, ты пытаешься изменить FieldName у TField, а во втором будет подобран тот TField, у которого имя совпадёт с заданным

а Access violation, потому что Columns[2] ещё не существует

Form8.DBGrid1.Columns[Form8.DBGrid1.Columns.Count - 1].Field.FieldName


 
Fuelfire   (2003-09-17 09:50) [4]

Да...Уже догадался в чем дело и переделал... Все равно спасибо за помощь!



Страницы: 1 вся ветка

Текущий архив: 2003.10.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-18397
Balkon
2003-09-25 10:58
2003.10.06
Как считать число типа Word или SmallInt из массива...


1-18467
Akim2
2003-09-24 12:45
2003.10.06
Как получить значение из DBGrid ячейки


14-18554
Программист
2003-09-19 01:09
2003.10.06
Программист


3-18240
MakNik
2003-09-17 15:14
2003.10.06
резервное копирование и восстановление базы MSSQL


4-18673
miwa
2003-07-29 21:55
2003.10.06
Опять вопросс о CopyFileEx.