Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Выделить программно все строки в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
14-84638
Mor
2003-06-07 15:12
2003.06.26
работа с TDBGrid


14-84634
$Hak@L
2003-06-10 07:52
2003.06.26
Как работать с проксями???


14-84667
Вопрошающий
2003-06-10 13:31
2003.06.26
Загадка природы


1-84317
dfg
2003-06-15 12:03
2003.06.26
Как правильно отследить ошибку?


14-84526
Думкин
2003-06-04 05:37
2003.06.26
Про опять - Европу и иже.