Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2018, 11:00   #1
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 180
По умолчанию строки в nextgrid

доброго дня! кто работал с компонентом Nextgrid, помогите! на форме есть cxImageComboBox и NextGrid, данные в NextGrid вводятся при нажатии на строку. при смене в cxImageComboBox Itemsа данные строк в NextGrid меняются (некоторые удаляются). как сделать так,
чтобы при смене индекса в cxImageComboBox данные некоторых строк в NextGrid оставались, не очищаясь?
NextGrid заполняется с событии cxImageComboBox :
Код:
procedure TfrmCreate.cmbTypePropertiesChange(Sender: TObject);
begin
  if cmbType.ItemIndex=-1 then cmbType.ItemIndex:=0;
  CDS.Data:=RunMethod('GetInfoAboutType',[cmbType.Text,1,ReturnCode,ErrorMessage]);
 
  TypeID:=cmbType.Properties.Items[cmbType.ItemIndex].Value;
  Index:=TypeIndexByID(TypeID);
 
  LockWindowUpdate(Handle);
  Tree.Items.Clear;
  GridAttrs.ClearRows;
  PanelMiddle.DestroyComponents;
  PanelMiddle.Height:=0;
  Frames:=nil;
  while not CDS.Eof do begin
    CDS2.Data:=RunMethod('GetInfoAboutAttribute',[CDS.FieldByName('_NAME').AsString,2,ReturnCode,ErrorMessage]);
    CDS2.Filter:='_DEFAULT=1';
    CDS2.Filtered:=True;
    if not CDS2.Eof then
      MeasureID:=CDS2.FieldByName('_ID_MEASURE').AsString
    else
      MeasureID:='';
    CDS2.Filtered:=False;
 
    if CDS.FieldByName('_OBLIGATORY').AsInteger=0 then begin
      if CDS.FieldByName('_ATTRTYPE').AsInteger in [0,1,2,3,5] then begin
        GridAttrs.AddRow;
        GridAttrs.CellByName['ColImg',GridAttrs.LastAddedRow].AsInteger:=Icon_Attr;
        GridAttrs.CellByName['ColAttr',GridAttrs.LastAddedRow].AsString:=CDS.FieldByName('_NAME').AsString;
        GridAttrs.CellByName['ColAttrType',GridAttrs.LastAddedRow].AsInteger:=CDS.FieldByName('_ATTRTYPE').AsInteger;
        GridAttrs.CellByName['ColValueList',GridAttrs.LastAddedRow].AsString:=CDS.FieldByName('_LIST').AsString;
        GridAttrs.CellByName['ColMeasureID',GridAttrs.LastAddedRow].AsString:=MeasureID;
        GridAttrs.CellByName['ColValue',GridAttrs.LastAddedRow].AsString:=CDS.FieldByName('_DEFAULT').AsString;
        if CDS.FieldByName('_ATTRTYPE').AsInteger=3 then GridAttrs.CellByName['ColValue',GridAttrs.LastAddedRow].AsDateTime:=Date;
        if CDS.FieldByName('_NAME').AsString='Наименование' then GridAttrs.CellByName['ColValue',GridAttrs.LastAddedRow].AsString:=TypeList[Index].DefaultName;
         if CDS.FieldByName('_NAME').AsString='Разработал' then GridAttrs.CellByName['ColValue',GridAttrs.LastAddedRow].AsString:='' ;
         end;
Etsareva вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по NextGrid divan15 Компоненты Delphi 2 01.01.2012 02:19
Отменить сортировку в NextGrid George2010 Компоненты Delphi 3 09.01.2011 16:34
NextGrid. Отключение изминения размера колонок W0LF Компоненты Delphi 2 27.12.2010 01:54
NextGrid и Delphi 2010 Polotenchik Компоненты Delphi 2 26.12.2009 20:05
Картинки NextGrid postal2 Компоненты Delphi 0 06.07.2009 19:07