Главная страница
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.011 c
2-1286379344
@!!ex
2010-10-06 19:35
2011.01.02
ЛОгирование исключений


8-1208839462
doKi
2008-04-22 08:44
2011.01.02
шейдары


11-1227521066
Dy1
2008-11-24 13:04
2011.01.02
юникод


2-1286522659
>|
2010-10-08 11:24
2011.01.02
Вопрос к знатокам DevExpress


2-1286343206
картман
2010-10-06 09:33
2011.01.02
dataset->file