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

Вниз

Как достать значение из TDBGrid.SelectedRows   Найти похожие ветки 

 
Beer   (2002-01-23 05:28) [0]

Hi, All!
TDBGrid.SelectedRows.Items[0] дает просто пустую строку. Почему это может быть?
Заранее благодарен. Beer


 
sky3d   (2002-01-23 08:34) [1]

Поставьте DBGrid в режим Options -> dgMultiSelect и тогда при выделении группы записей при помощи Shift или Ctrl получите список закладок на выбранные строки.


 
roottim   (2002-01-23 08:42) [2]

>TDBGrid.SelectedRows.Items[0]
это не строка... это Bookmark
если сделать так DataSet.Bookmark:=TDBGrid.SelectedRows.Items[0]; - это и будет нужная строка


 
GorA   (2002-01-23 10:20) [3]

>DataSet.Bookmark:=... - это плохо
нужно:
DataSet.GotoBookmark(pointer(DBGrid.SelectedRows.Items[0])


 
roottim   (2002-01-23 10:50) [4]

а я читал.. что использование этих методов носит лиш характер совместимости с более ранними версиями...
так что операнд присвоения вполне норма!


 
Johnny   (2002-01-23 10:57) [5]

to GorA:
а почему плохо? судя по справке это одно и тоже


 
Beer   (2002-01-23 23:05) [6]

to sky3d ©: Да, это сделано.. TDBGrid.SelectedRows.Count выдает верную информацию...

to all:
type TBookmarkStr: string;
property Items[Index: Integer]: TBookmarkStr; default;

из справки делаю вывод что код Label.Caption:=TDBGrid.SelectedRows.Items[0] должен давать первую запись... Но после этой операции Label.Caption="" ...
Ok, я понял что нужно примерно так:

DataSet.Bookmark:=TDBGrid.SelectedRows.Items[0];
// или DataSet.GotoBookmark(pointer(DBGrid.SelectedRows.Item[0])
Label.Caption:=DataSet.FieldByName("need_field").AsString;

Так? Седня попробую...

Большое спасибо всем!


 
ed   (2002-01-24 07:17) [7]

Контекстный хелп слабо почитать и пример глянуть, там вроде все подробно написано... )) Копия примера:

procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin

if (j>0) then s:=s+", ";
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= "";
end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.009 c
1-57092
Юрий М.
2002-02-02 06:33
2002.02.18
Работа с LPT портом


3-57022
Rustik
2002-01-24 15:35
2002.02.18
Базы данных


1-57086
Priz_Datiy
2002-02-01 22:43
2002.02.18
DialUp соединения...


1-57090
lara_k_
2002-02-02 09:45
2002.02.18
Форма сворачивается к часикам, но не просто так.


4-57261
Наташа
2001-12-20 09:21
2002.02.18
WinAPI