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

Вниз

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

 
12345   (2004-08-27 12:02) [0]

см. сабж


 
Rem   (2004-08-27 12:04) [1]

OnDrawColumnCell()


 
12345   (2004-08-27 12:08) [2]

Это же событие для выделения ячеек грида, а мне нужно программно
выделить все строки при нажатии кнопки, например.


 
Rem   (2004-08-27 12:19) [3]

[2]
Не путайте. Это событие для рисования ячеек таблицы.

По теме вопроса: Вы уверены, что надо выделить строки в DBGrid"е, а не выбрать (отметить) строки в DataSet"е?
Если все же в DataSet"e, то DataSet.GetBookmark, помещайте выбранные строки в отдельный список, и по факту отрисовки DBGrid"а рисуйте выбранные строки по-другому. Или заведите дополнительное поле в DataSet"е типа "Выбрано". Или еще как-то, но только не в DBGrid"e.


 
12345   (2004-08-27 12:33) [4]

мне нужно, чтобы они были в DBGrid.SelectedRows
как это сделать?


 
12345   (2004-08-27 12:36) [5]

>рисуйте выбранные строки по-другому
ну нарисую, но ведь в  DBGrid.SelectedRows они не будут находиться


 
DSKalugin ©   (2004-08-27 12:37) [6]


procedure TEngineMF.DBGrid4DrawColumnCell(Sender: TObject;
 const Rect: TRect; DataCol: Integer; Column: TColumn;
 State: TGridDrawState);
begin
if EngineDM.OrdersIBQ.IsEmpty then exit;

if EngineDM.OrdersIBQcondition.AsString="Не заказана"
then DBGrid4.Canvas.Brush.Color :=$cbc7fc;

if EngineDM.OrdersIBQcondition.AsString="Заказана"
then DBGrid4.Canvas.Brush.Color :=clMoneyGreen;

if not EngineDM.OrdersIBQBest_Before.IsNull then
if ((Date>=EngineDM.OrdersIBQBest_Before.AsDateTime)
  and (not (EngineDM.OrdersIBQcondition.AsString="Продана")))
then DBGrid4.Canvas.Font.Style:=[fsBold];

// безналичка
if (EngineDM.OrdersIBQzalog.AsInteger=0)
then DBGrid4.Canvas.Brush.Color :=clCream;

DBGrid4.DefaultDrawColumnCell(Rect,DataCol,Column, State);
end;


 
Ega23 ©   (2004-08-27 12:38) [7]


procedure TFMain.rxgPersonnelKeyUp(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key=65) then
 (Sender as TRxDBGrid).SelectAll;
end;


Так сказать, используйте RxLib...


 
s999   (2004-08-27 12:43) [8]


> мне нужно, чтобы они были в DBGrid.SelectedRows
> как это сделать?


Попробуй:

DBGrid.SelectedRows.CurrentRowSelected := True/False;


 
12345   (2004-08-27 13:25) [9]

>DSKalugin ©   (27.08.04 12:37) [6]

ты советуешь мне просто раскрасить и все?

>DBGrid.SelectedRows.CurrentRowSelected := True/False;

это обращение к уже выделенным строкам, а у меня таковых нет


 
s999   (2004-08-27 13:31) [10]


> это обращение к уже выделенным строкам, а у меня таковых
> нет


А попробовать? При True это выделение текущей записи, при False снятие выделения.


 
Ega23 ©   (2004-08-27 13:36) [11]

На:


procedure TRxDBGrid.SelectAll;
var
 ABookmark: TBookmark;
begin
 if MultiSelect and DataLink.Active then begin
   with Datalink.Dataset do begin
     if (BOF and EOF) then Exit;
     DisableControls;
     try
       ABookmark := GetBookmark;
       try
         First;
         while not EOF do begin
           SelectedRows.CurrentRowSelected := True;
           Next;
         end;
       finally
         try
           GotoBookmark(ABookmark);
         except
         end;
         FreeBookmark(ABookmark);
       end;
     finally
       EnableControls;
     end;
   end;
 end;
end;


 
12345   (2004-08-27 14:15) [12]

>if MultiSelect and DataLink.Active then begin

спасибо, а DataLink.Active - что это?


 
12345   (2004-08-27 14:15) [13]

и без этого работает, конечно, но все же...


 
Ega23 ©   (2004-08-27 14:27) [14]

12345   (27.08.04 14:15) [13]

Если тебе очень интересно, то скачай и установи себе RxLib. Ищи в TRxDBGrid.SelectAll.


 
12345   (2004-08-27 14:36) [15]

2Ega23 ©   (27.08.04 14:27) [14]

много преимуществ перед простым гридом?
и где можно скачать?


 
12345   (2004-08-27 14:36) [16]

2Ega23 ©   (27.08.04 14:27) [14]

много преимуществ перед простым гридом?
и где можно скачать?


 
Ega23 ©   (2004-08-27 14:38) [17]

много преимуществ перед простым гридом?


Unit
RxDBCtrl
Description
Компонента TRxDBGrid предназначена, как и стандартная компонента TDBGrid, для отображения данных таблиц БД или результатов запросов в табличной форме. Являясь наследником TDBGrid, компонента TRxDBGrid имеет все те же свойства и методы, и, кроме того, некоторые свойства, находящиеся у TDBGrid в секции protected, вынесены в секцию public. Это такие свойства, как Col, Row, LeftCol, Canvas.

Другие отличия от TDBGrid:
- BLOB-поля базы данных, такие как графические изображения, текстовые мемо-поля, другие BLOB"ы могут отображаться в таблице в виде пиктограмм при установленном в True значении свойства ShowGlyphs;
- вы можете изменить цвет шрифта и фона любой ячейки таблицы (либо любой ее строки или столбца) в зависимости от значения поля или имени поля набора данных, определив обработчик события OnGetCellParams;

- имеются методы SaveLayout и RestoreLayout для сохранения и восстановления порядка и ширин столбцов компоненты TRxDBGrid в INI-файле (или в Registry для Delphi 2.0). Вы можете также автоматически сохранять и восстанавливать эти параметры, присвоив значение свойству IniStorage.
- как в 32-битной, так и в 16-битной версии компонента поддерживает выбор нескольких записей в таблице при значении свойства MultiSelect = True.

- заголовки колонок Grid-а могут быть с помощью свойства TitleButtons использованы как кнопки, например, для изменения порядка сортировки отображаемых данных.
- вы можете зафиксировать несколько первых колонок в Grid-е с помощью свойства FixedCols.


и где можно скачать?

Обращайся: egorov@dedal.dubna.ru



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

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

Наверх





Память: 0.5 MB
Время: 0.111 c
4-1092439003
SSSSS
2004-08-14 03:16
2004.09.26
Как на API переводить строки в Float и наоборот? Это возможно?


14-1094146547
DeadMeat
2004-09-02 21:35
2004.09.26
Чего взять?...


1-1095002737
Макс
2004-09-12 19:25
2004.09.26
Word


14-1093099932
mm0
2004-08-21 18:52
2004.09.26
Как надо было пройте последний уровень в DOOM_2(1994)


3-1093591496
Sirruf
2004-08-27 11:24
2004.09.26
Грабли с датами в ADO





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