Форум: "Базы";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];
ВнизИз DBGrid нужно выбрать значение Найти похожие ветки
← →
alexvan (2002-07-06 15:59) [0]Люди! Дайте HELP!Как организовать выбор из DBGrid? Нужно выбрать значение Поле n, Запись m AsString???
← →
MBo (2002-07-06 16:02) [1]label1.caption:=Table1.FieldByName["qqq"].AsString;
← →
alexvan (2002-07-06 16:06) [2]Ты меня не понял, хотя наверное так написал. Я не знаю имени!!!
Мне нужно его получить! Я знаю строку и столбец
← →
MBo (2002-07-06 16:11) [3]>Я знаю строку и столбец
Откуда знаешь?
← →
wicked (2002-07-06 19:31) [4]2 alexvan ©
не будет так... TDBGrid сонаследники предназначен только для отображения данных... если тебе хочется еще и читать значение столбца/строки - разгребай принципы действия TCustomDBGrid и пиши своего наследника...
← →
VAleksey (2002-07-08 08:54) [5]Ну знаешь ты в гриде строку и столбец и чего ? Это что означает что ты не знаешь строку и столбец в датасете что-ли ?
Делай как MBo. Только
var n:integer;
....
label1.caption:=Table1.Fields[n].AsString;
.....
А если знаешь строку (млин обхохотаться можно :)) )
var n,m { строка }:integer;
....
Table1.First;
Table1.MoveBy(m);
label1.caption:=Table1.Fields[n].AsString;
.....
PS
Но открою тебе секрет. Строка и столбец который сфокусирован в гриде - это та самая строка и столбец в датасете, которые тебе нужны. Иначе надо использовать поиск в ДАТАСЕТЕ . :))
← →
shjurik (2002-07-08 10:42) [6]Если речь идет о выборке делай так:
db1 - таблица
столбцы в ней
нумеруются от 0 до n
следовательно:
db1.fields[0].text - даст значение столбца
← →
Vikol (2002-07-08 12:01) [7]У DBGrid есть свойство DBGrid.SelectedField которое указывает на поле в котором находится фокус ввода или выделение. Таким образом
Label1.Caption := DBGrid.SelectedField.AsString;
Кроме того у DBgrid есть свойство SelectedIndex которое указывает на номер выделеного столбца. Можно тогда сделать так
Label1.Caption
:= DBGrid.Columns[DBgrid.SelectedIndex].Field.asString;
Для того чтобы увидеть изменение данных нужно предусмотреть реакцию на событие компонента DataSource который связан с DBGrid.
DBgrid.DataSource.onDataChange := DataSource1DataChange;
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
Label1.Caption := DBGrid.SelectedField.AsString;
end;
Однако это событие генрирутся достаточно часто при любом изменении данных даже не связанных с переходами пользователя в DBGrid. Поэтому лучше использовать события DBGrid.onColEnter для обновления данных при горизонтальных движениях по DBGrid и
DBGrid.DataSource.DataSet.AfterScroll для обновления данных при переходе с одной записи на другую.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c