Главная страница
    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.003 c
1-57112
MAN-IN-RED
2002-02-02 21:32
2002.02.18
Какие форматы знает MediaPlayer?


3-56992
SelfDestructor
2002-01-23 16:37
2002.02.18
Как загрузить поле таблицы типа Memo из текстового файла?


1-57061
Амелин Вадим
2002-02-01 13:39
2002.02.18
Width и Height не работают


14-57194
RaZEr
2001-12-27 06:35
2002.02.18
Автозапуск ! где ?


1-57082
Злой_Гном
2002-02-01 18:12
2002.02.18
Помогите положить ProgressBar в StatusBar.Panels





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский