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

Вниз

Из 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-95422
Alibaba
2002-07-16 15:12
2002.07.29
Свой тип


14-95484
-=CrazyFish=-
2002-06-28 17:33
2002.07.29
оцените плиз...


1-95276
Leny
2002-07-17 09:22
2002.07.29
Hint в StringGrid


3-95253
Alenka
2002-07-09 10:31
2002.07.29
Запомнить значение в текущей ячейки


1-95385
hooch
2002-07-16 08:03
2002.07.29
Фреймы в dll (D6, WinXP)