marser
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору SIgor33 Цитата: может как-то по другому обновить данные можно | Если в runtime FormLogica.TvLogic.DataController.DataSource присваиваете правельное значение, то все должно работать. После FormLogica.TvLogic.DataController.DataSource:=AQuery.DataSource напишите ShowMessage('DataSet.Name = ' + FormLogica.TvLogic.DataController.DataSource.DataSet.Name + #13#10 + 'Active = ' + BoolToStr(FormLogica.TvLogic.DataController.DataSource.DataSet.Active, True) и помотрите что выведет Добавлено: X11 Цитата: Дошло: Код: Код: Var Item: TcxCustomGridTableItem; begin Item := TcxGridDBTableView(Sender).DataController.GetItemByFieldName('DELETED'); if VarSameValue(ARecord.Values[TcxGridDBColumn(Item).Index], TcxCheckBoxProperties(Item.Properties).ValueChecked) then AStyle := styleCliDeleted; | | Рад за Вас! Только, функции типа GetByName, как правило, реализуются через перебор элементов коллекции пока не найдется нужный. Я бы не рискнул вешать функцию поиска на WM_PAINT. А если слабый компьютер, много ячеек, нужная колонка в конце списка, то можно и тормоза получить. Да и зачем искать Item, если он и так известен. Может быть лучше на OnCreate формы Код: <OurGridDBTableView1>.Tag := Integer(<OurCheckColumn1>); <OurGridDBTableView2>.Tag := Integer(<OurCheckColumn2>); | А на OnGetContentStyle Код: Var Item: TcxCustomGridTableItem; begin Item := TcxCustomGridTableItem(Sender.Tag); if VarSameValue(ARecord.Values[TcxGridDBColumn(Item).Index], TcxCheckBoxProperties(Item.Properties).ValueChecked) then AStyle := styleCliDeleted; | | Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 13:47 20-01-2011 | Исправлено: marser, 14:18 20-01-2011 |
|