Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 07.06.2018, 12:00   #1
Etsareva
Форумчанин
 
Регистрация: 26.01.2018
Сообщений: 116
Репутация: 10
По умолчанию строки в 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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


21:44.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru