Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];

Вниз

Как достать значение из 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-57129
skiph
2002-02-01 10:02
2002.02.18
ComboBox


1-57044
D-NICKNAME
2002-02-02 08:54
2002.02.18
Delphi and TExcelApplication


6-57165
Zharik
2001-11-28 12:41
2002.02.18
Как в Delphi пройти через прокси-сервер, в котором есть имя и пароль?


6-57169
Андрей
2001-11-27 17:33
2002.02.18
SSH сессия


1-57042
kronprince
2002-02-04 11:25
2002.02.18
Затенение окна как при Start > Shut Down





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский