marser
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Man_Without_Face Цитата: Всем привет, есть вопрос по cxGrid: Как получить значения при мультиселекте, т.е. я например через Ctrl выбрал три записи. Нужно получить начальное и конечное значение (9 и 11 (periods)). Структура таблицы и значения: periods periods_begindate periods_enddate periods_type 9 2010-02-01 2010-03-01 2 10 2010-03-01 2010-04-01 2 11 2010-04-01 null 1 //Не закрытый период Компоненты: CxGrid, DataSource, TQuery. Что то вроде этого: x:= TQuery.FieldByName('periods').Asinteger y:= TQuery.FieldByName('periods').Asinteger | Код: var I: Integer; ARowIndex: Integer; ARecordIndex: Integer; AMinValue, AMaxValue: Variant; begin with <YourGridTableView>.DataController do for I := 0 to GetSelectedCount - 1 do begin ARowIndex := GetSelectedRowIndex(I); ARecordIndex := GetRowInfo(ARowIndex).RecordIndex; if I = 0 then begin AMinValue := Values[ARecordIndex, <YourColumnPeriods>.Index]; AMaxValue := AMinValue; end else begin if Values[ARecordIndex, <YourColumnPeriods>.Index] < AMinValue then AMinValue := Values[ARecordIndex, <YourColumnPeriods>.Index]; if Values[ARecordIndex, <YourColumnPeriods>.Index] > AMaxValue then AMaxValue := Values[ARecordIndex, <YourColumnPeriods>.Index]; end end; end; | | Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 13:51 08-06-2010 | Исправлено: marser, 13:56 08-06-2010 |
|