Главная страница
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.008 c
15-1279792599
Baks
2010-07-22 13:56
2011.01.02
Посоветуйте платный хостинг


15-1283514087
Ололо
2010-09-03 15:41
2011.01.02
Опросник


2-1282054512
Black123
2010-08-17 18:15
2011.01.02
TWebBrowser и WEB2.0


2-1286282763
TRSteep
2010-10-05 16:46
2011.01.02
Форма для печати


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