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

Вниз

Выделить программно все строки в dbgrid е   Найти похожие ветки 

 
shoo   (2003-05-30 10:23) [0]

Уважаемые мастера, требуется, собственно, сабж, например, при нажатии на кнопку. По хелпу догадываюсь, что связано с букмарками, но не могу сообразить, как это все по умному сделать. Заранее благодарю.


 
AlexSerp   (2003-05-30 10:32) [1]

Если надо потом обработывать все строки,
то для чего их выделять?
Объясни смысл программного выделения ВСЕХ строк.


 
Соловьев   (2003-05-30 10:45) [2]

Наверное shoo именно хочет обрабатывать видимые строки, тогда ему надо просто занести в динамический масив Id записей по AfterScrol НД, а потом их обработать через SQL. Можно и по другому...


 
гончий   (2003-05-30 10:47) [3]

Лови..только на больших таблицах будет притормаживать:
(c)2003 гончий :)
------------------------------------------------------
procedure TForm1.SelectAllRows;
var
Tbl: TDataSet;
pBm: TBookmark;
begin
Tbl := DbGrid1.DataSource.DataSet;
Tbl.DisableControls;
pBm := Tbl.GetBookmark;
Tbl.First;
try
while not Tbl.Eof do
begin
DBGrid1.SelectedRows.CurrentRowSelected := True;
Tbl.Next;
end;
finally
Tbl.GotoBookmark(pBm);
Tbl.FreeBookmark(pBm);
Tbl.EnableControls;
end;
end;


 
Zacho   (2003-05-30 10:48) [4]

В общем случае:
DBGrid.DataSource.DataSet.First;
while not DBGrid.DataSource.DataSet.Eof do
begin
DBGrid.SelectedRows.CurrentRowSelected:=true;
DBGrid.DataSource.DataSet.Next;
end;


 
shoo   (2003-05-30 10:52) [5]

2 AlexSerp: Уже написанная и весьма немаленькая процедура обрабатывает ТОЛЬКО выделенные строки, мне кажется, что выделить все строки проще, нежели поправлять процедуру. Если это действительно архисложно, так и скажите, пойду по другому пути.

И все-таки хотелось бы получить ответ, а не вопрос.
Спасибо.


 
MrZeRo   (2003-05-30 10:56) [6]

Да прочитайте же HELP наконец!
RTFM!!!!!!

ADOQuery1.First;
while not ADOQuery1.EOF do
begin
DBGrid1.SelectedRows.CurrentRowSelected := True;
ADOQuery1.Next;
end;

Что, очень трудно????!!!!!


 
Zacho   (2003-05-30 10:58) [7]


> shoo (30.05.03 10:52)

Ответы ты уже получил :-)
А процедуру все-таки поправить проще. Достаточно заменить в ней цикл по SelectedRows на цикл по датасету и убрать переход на запись по букмаркам.


 
shoo   (2003-05-30 11:03) [8]

Спасибо всем большое, все действительно оказалось несложно.
Не судите строго, иногда даже очевидное трудно понять.



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

Форум: "Базы";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.024 c
1-84399
Serg!!™™
2003-06-09 15:28
2003.06.26
Delphi 6-7 TreeView


3-84037
olevar_y
2003-06-02 05:54
2003.06.26
Как встроить Case_Insensetive в SQL запрос Like


3-83944
angelcom
2003-06-01 03:33
2003.06.26
вопрос о DBGrid


8-84471
Borh
2003-03-08 22:47
2003.06.26
Прозрачные элементы интерфейса


14-84665
Soft
2003-06-09 19:11
2003.06.26
Вы хотите знать свой гороскоп?





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