![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как достать значение из TDBGrid.SelectedRows [D4, dBase, FoxPro, ]
Beer © (2002-01-23 05:28:00)Hi, All!
TDBGrid.SelectedRows.Items[0] дает просто пустую строку. Почему это может быть?
Заранее благодарен. Beer
ed (2002-01-24 07:17:00) [1]Контекстный хелп слабо почитать и пример глянуть, там вроде все подробно написано... )) Копия примера:
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;
Beer (2002-01-23 23:05:00) [2]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;
Так? Седня попробую...
Большое спасибо всем!
Johnny (2002-01-23 10:57:00) [3]to GorA:
а почему плохо? судя по справке это одно и тоже
roottim (2002-01-23 10:50:00) [4]а я читал.. что использование этих методов носит лиш характер совместимости с более ранними версиями...
так что операнд присвоения вполне норма!
GorA (2002-01-23 10:20:00) [5]>DataSet.Bookmark:=... - это плохо
нужно:
DataSet.GotoBookmark(pointer(DBGrid.SelectedRows.Items[0])
roottim (2002-01-23 08:42:00) [6]>TDBGrid.SelectedRows.Items[0]
это не строка... это Bookmark
если сделать такDataSet.Bookmark:=TDBGrid.SelectedRows.Items[0];- это и будет нужная строка
sky3d (2002-01-23 08:34:00) [7]Поставьте DBGrid в режим Options -> dgMultiSelect и тогда при выделении группы записей при помощи Shift или Ctrl получите список закладок на выбранные строки.