Главная страница
    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.026 c
14-84579
abc
2003-06-08 21:22
2003.06.26
как сделать так что бы при вводе данных первая буква....


14-84574
duby
2003-06-08 15:13
2003.06.26
Статьи о потоках


3-83958
first_aid
2003-05-28 06:50
2003.06.26
ADO, dBase и русские буквы?


7-84786
_ALEXey_
2003-04-09 19:03
2003.06.26
Запрет всех контекстных меню в системе (ловушка)


1-84343
Dimich1978
2003-06-16 11:34
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский