Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.02;
Скачать: CL | DM;

Вниз

Как в cxVerticalGrid из DevExpress задать EditorProperties ?   Найти похожие ветки 

 
Mishenka   (2010-07-23 16:10) [0]

Есть компонент cxVerticalGrid из библиотеки DevExpress
Добавляю TcxEditorRow. Нужно в EditorProperties указать ComboBox.
Если делать через инспектор объектов, то всё просто. Однако как указать EditorProperties динамически?


 
stas ©   (2010-07-23 16:38) [1]

Вот процедура для примера
TupEditorRow - У меня на следник TcxEditorRow, так что заменишь.

Procedure CreateRow(Grid:TcxVerticalGrid; RowType:Integer; List:String;  var Row:TupEditorRow);

{ RowType
1 Text
2 CheckBox
3 RadioButton
4 Combobox
5.Submit
}

Var C:TcxCustomEditProperties;

begin
  Row:=TupEditorRow(Grid.Add(TupEditorRow));

  Case  RowType of
    1:    begin
           C:= TcxButtonEditProperties.Create(Row);
           TcxButtonEditProperties(C).OnButtonClick:=Row.upButtonClick;
          end;
    2:    C:= TcxCheckBoxProperties.Create(Row);
    3:    C:= TcxRadioGroupProperties.Create(Row);
    4: begin
         C:= TcxComboBoxProperties.Create(Row);
         TcxComboBoxProperties(C).Items.Text:=List;
       end;
    5: begin
           C:= TcxButtonEditProperties.Create(Row);
           TcxButtonEditProperties(C).OnButtonClick:=Row.upButtonClick;
           C.ReadOnly:=true;
       end;

  end;

  Row.Properties.EditPropertiesClass:=TcxCustomEditPropertiesClass(C.ClassType);
  Row.Properties.EditProperties:=C;

end;


 
Mishenka   (2010-07-23 17:39) [2]

Спасибо большое!
Возник вопрос, а как динамически удалить TcxEditorRow из компонента?
Пробую так:

VerticalGridRow := TcxEditorRow(Rows.Items[Index]);
Remove(Rows.Items[Index]);
VerticalGridRow.Free;


Однако не удаляет :(


 
Mishenka   (2010-07-23 20:09) [3]

Вопрос снят.


 
Александер ©   (2010-10-04 14:47) [4]

stas, у меня возникли проблемы  с установкой обработчиков событий,
  покажите пожалуйста ваше объявление класса TupEditorRow и обработчик upButtonClick


 
stas ©   (2010-10-04 16:47) [5]

Type
TupEditorRow = class(TcxEditorRow)
private
procedure upButtonClick(Sender: TObject; AButtonIndex: Integer);
public
FFieldName:String;
FFCID:Integer;
FNUMBER:Integer;
end;
....
procedure TupEditorRow.upButtonClick(Sender: TObject; AButtonIndex: Integer);
Var Value:String;
begin

if  self.Properties.Value=null then Value:="" else Value:=self.Properties.Value;
self.Properties.Value :=CreateAddText (self.Properties.Caption, Value); //тут открывается диалог для добавления текста.
self.VerticalGrid.HideEdit;
end;


 
Александер ©   (2010-10-04 22:02) [6]

Спасибо, помогло.


 
Юрий Зотов ©   (2010-10-05 18:41) [7]

А зачем везде писать self ? Он и так подразумевается, по умолчанию.



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

Текущий архив: 2011.01.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
15-1284755365
Юрий
2010-09-18 00:29
2011.01.02
С днем рождения ! 18 сентября 2010 суббота


2-1286622237
v_a_belousov
2010-10-09 15:03
2011.01.02
RichEdit загрузка документов с объектами


2-1286353881
Jacksotnik
2010-10-06 12:31
2011.01.02
Проблема с отладкой


15-1284476161
Vendict
2010-09-14 18:56
2011.01.02
Улучшение реактора


2-1286307307
Антон Т.
2010-10-05 23:35
2011.01.02
Заполнить формы в браузере где есть несколько фреймов