Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Использование DevExpress

Автор: DimonXP
Дата сообщения: 28.09.2006 18:29
Можно ли выводит текст, на кнопках навигации на cxGrid
Автор: DimonXP
Дата сообщения: 28.09.2006 22:10
Какой простой способ управлять свойствами групп одинаковых компонентов из набора DevExpress, например, есть на форме как управлять сразу всей группой (простой перебор не предлагать), интересен аналог cxStyleRepository
Автор: clear2121
Дата сообщения: 29.09.2006 05:42
Привет ВСЕМ!
ВОПРОС:
Использую TcxTreeList. При добавлении в него TcxTreeListNode хочу, чтоб запись распологалась по нескольким клолнка. Типа как у них: если стоит +, то колонки выглядят как объединенные. Подскажите, можно ли это сделать?

СПАСИБО!
Автор: uranic2
Дата сообщения: 29.09.2006 09:18
DimonXP

Цитата:
Какой простой способ управлять свойствами групп одинаковых компонентов из набора DevExpress


cxPropertiesStory

Добавлено:
clear2121

Цитата:
Типа как у них: если стоит +, то колонки выглядят как объединенные. Подскажите, можно ли это сделать?

Читать про свойство CategorizedColumn
Автор: DimonXP
Дата сообщения: 29.09.2006 22:31
uranic2
Я кажется на совсем корректно сформулировал вопрос
Необходимо изменять свойства группы компонентов в одном месте, а не по отдельности каждый компонент.

Автор: IgorXI
Дата сообщения: 02.10.2006 08:44
Кто- нибудь пробовал прикрутить ещё одну кнопку к cxDBLookUpComboBoх ? Подскажите пожалуйста как проще это можно сделать.
Автор: Dauren111
Дата сообщения: 02.10.2006 09:26
Други мои , как мне собственно вставить иконку в каждую строчку при выводе датасета в cxGrid -е(как в Explorer е - режим таблица)
Заранее спасибо!
Автор: vshersh
Дата сообщения: 02.10.2006 09:34
Dauren111
Обрабатываешь, например, OnCustomDrawCell и там рисуешь

Код: ImageList1.Draw(ACanvas.Canvas, AViewInfo.Bounds.Left,
AViewInfo.Bounds.Top, 1{Номер иконки в листе}, dsNormal, itImage);
Автор: Dauren111
Дата сообщения: 02.10.2006 10:00
vshersh
ты сам пробовал у меня не получ-ся
может поподробней
Автор: vshersh
Дата сообщения: 02.10.2006 10:17
Dauren111
Если бы не пробовал - не писал бы.

Цитата:
может поподробней

Я привел работающий кусок кода.
Что не получается? Создай на гриде колонки и для одной из них напиши указанный обработчик.
Автор: jicoff
Дата сообщения: 02.10.2006 11:33
IgorXI

Это смотря где делать. Если редактор стоит отдельно на форме, то проще поставить рядом кнопку. Если как редактор ячейки, то сложнее. Тут уже обсуждался подобные вопрос, не помню к какому конкретно редактору это относилось. Поищи, может и для данного случая подойдет.
Автор: RedPromo
Дата сообщения: 02.10.2006 11:47
Dauren111
Вот рабочая процедура которую я использую
Переопределяя у конки CustomDrawCell
[more]
procedure TFrmeSprBelaz.browserDBViewMACHINE_IDCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
ACanvas.Canvas.Brush.Style := bsSolid;
ACanvas.Canvas.Brush.Color := $00F7EAD9;
ACanvas.Canvas.FillRect(AViewInfo.Bounds);
frmMain.ImageSmall.Draw(ACanvas.Canvas,AViewInfo.Bounds.Left,ViewInfo.Bounds.Top,1);
ADone:= True;
end;
[/more]
Автор: IgorXI
Дата сообщения: 02.10.2006 12:46
jicoff
Ура! Получилось
cxDBLookupComboBox1->Properties->Buttons->Add();
Остальное сделаю в виде отдельного компонента
Автор: Alex47
Дата сообщения: 02.10.2006 14:23
IgorXI

Предлагался, например, такой вариант. Хотя можно найти и другие, похожие.
[more]
Here are som code to hide and add button on difrent editors.

type
TcxPopupEditPropertiesAccess = class(TcxPopupEditProperties);
TcxCustomEditPropertiesAccess = class(TcxCustomEditProperties);
TcxLookupComboBoxPropertiesAccess = class(TcxLookupComboBoxProperties);

procedure TForm1.AddButton(Control: TObject; OnButtonClick:
TcxEditButtonClickEvent; TypeId: integer = 1);
var
PopupEditProp: TcxPopupEditPropertiesAccess;
LookupComboBoxProp: TcxLookupComboBoxPropertiesAccess;
Prop: TcxCustomEditPropertiesAccess;
Btn: TcxEditButton;
begin
if Control is TcxGridDBColumn then
Prop := TcxCustomEditPropertiesAccess(TcxGridDBColumn(Control).Properties);
if Control is TcxPopupEdit then
Prop := TcxCustomEditPropertiesAccess(TcxPopupEdit(Control).Properties);
if Control is TcxDBLookupComboBox then
Prop := TcxCustomEditPropertiesAccess(TcxDBLookupComboBox(Control).Properties);
Btn := Prop.Buttons.Add as TcxEditButton;
case TypeId of
1: Btn.Kind := bkEllipsis;
2:
begin
Btn.Kind := bkGlyph;
// Btn.Glyph.Assign(Bitmap);
end;
end;
Prop.OnButtonClick := OnButtonClick;
end;

function TForm1.GetButton(Control: TObject; Index: integer): TcxEditButton;
var
Prop: TcxCustomEditPropertiesAccess;
Btn: TcxEditButton;
begin
if Control is TcxGridDBColumn then
Prop :=TcxCustomEditPropertiesAccess(TcxGridDBColumn(Control).Properties);
if Control is TcxPopupEdit then
Prop := TcxCustomEditPropertiesAccess(TcxPopupEdit(Control).Properties);
if Control is TcxDBLookupComboBox then
Prop := TcxCustomEditPropertiesAccess(TcxDBLookupComboBox(Control).Properties);
if Prop.Buttons.Count > Index then
result := Prop.Buttons[Index]
else
result := nil;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
AddButton(cxPopupEdit1, cxButtonEdit1PropertiesButtonClick);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
GetButton(cxPopupEdit1, 0).Visible := false;

end;

procedure TForm1.cxButtonEdit1PropertiesButtonClick(Sender: TObject;
AButtonIndex: Integer);
begin
ShowMessage(inttostr(AButtonIndex));
end;

[/more]
Автор: Dennica
Дата сообщения: 02.10.2006 15:17
Есть cxDBLookupComboBox. В Properties в свойстве ListFieldNames установленно 2 поля. Как грамотно можно получить доступ к значению 2-го поля, того, которое отображается только когда выпадающий список открыт?
Автор: jicoff
Дата сообщения: 02.10.2006 16:07
Dennica

Задавать KeyFieldNames = этим двум полям, другого не нашел способа.

Добавлено:
Alex47

А почему бы сразу в процедуре AddButton(Control: TObject; ...) первым параметром не поставить TcxCustomEditProperties вместо TObject ? По-моему получится лучше: у кого есть свойство Properties, тот и может добавить 2-ю кнопку.
Автор: goshavt
Дата сообщения: 02.10.2006 20:06
Люди проблема!
Вылезло в двух едитах, TcxButtonEditи TcxDateEdit.

На второй и более раз создания и показа формы в Едитах не отображаются данные, хотя значения присвоены и при изменении(после клика по кнопке) и последующем считывании они правильные. Редактировать чего либо в редакторе тоже нельзя, курсор даже не становиться в виде каретки, просто стрелка, и если установлено свойство Autosize в true, то едитор сворачивается в горизонтальную полоску.

Что за фигня и как с ней бороться?(Использую Builder C++ 6.0 со всеми патчами, девки Express Editiros v 5.17).
Автор: GENEMI
Дата сообщения: 03.10.2006 00:57
Откуда можно взять DevExpress Инвойс?
Автор: clear2121
Дата сообщения: 05.10.2006 10:55
Вопросик по TcxTreeList.
Создаю TcxTreeListNode и внем дочернюю TcxTreeListNode. Если дочерних несколько, то ->FocusedNode->Delete(); удаляет выделенную строчку, а если дочерняя одна, то вылетает ошибка доступа. Как удалить одну НОДУ?

СПАСИБО!
Автор: jicoff
Дата сообщения: 05.10.2006 11:59
clear2121

А просто вызвать деструктор ноде не работает?
Автор: clear2121
Дата сообщения: 05.10.2006 12:42
jicoff
Не пробовал. Но зачем тады методы? Кроме Delete() есть еще и ->DeleteSelection(). Что то не получается удалить.
Автор: jenyad1
Дата сообщения: 05.10.2006 13:27
Есть такая проблемка:

Есть компонент XtraEditors.LookUpEdit DataSource кототорого настроен на таблицу DataSet'а а EditValue забиндено на поле из другой таблицы этого-же DataSet'а.

Так вот при измнении значения в выпадающеи списке невозможно его заставить нормально сохранить EditValue в DataSet.DataTable. Может кто сталкивался с подобным поведением? Как решить это?

Заранее благодарен.
Автор: jicoff
Дата сообщения: 05.10.2006 13:29
clear2121

Delete - удаляет сам узел и его дочерные узлы, DeleteSelection - удаляет все выделенные вместе с дочерные узлами. Возможно срабатывает какое-нибудь событие, где нет проверки на отсутствие дочерних узлов.
Автор: clear2121
Дата сообщения: 06.10.2006 12:46
jicoff
вообщем после всяких проверок и кучи попыток выяснилось, что если создать нод, а внем несколько дочерних нодов, то все можно удалить, кроме последнего. Вылетает ошибка доступа в памяти. Вот такая хрень. Через задницу сделал. Но нужно нормально. Работаю методом DeleteSelection().

Спасибо за участие!
Автор: goshavt
Дата сообщения: 06.10.2006 13:41

Цитата:
Люди проблема!
Вылезло в двух едитах, TcxButtonEditи TcxDateEdit.

На второй и более раз создания и показа формы в Едитах не отображаются данные, хотя значения присвоены и при изменении(после клика по кнопке) и последующем считывании они правильные. Редактировать чего либо в редакторе тоже нельзя, курсор даже не становиться в виде каретки, просто стрелка, и если установлено свойство Autosize в true, то едитор сворачивается в горизонтальную полоску.

Что за фигня и как с ней бороться?(Использую Builder C++ 6.0 со всеми патчами, девки Express Editiros v 5.17).


Неужели никто с таким не сталкивался?
Автор: ivyanushkevich
Дата сообщения: 06.10.2006 14:03
Люди добрые, подскажите - использую QuantumGrid, пытаюсь загрузить в таблицу порядка 400000 записей - валится с ошибкой Out of Memory. Что не так? Где поправить?
Автор: RedPromo
Дата сообщения: 06.10.2006 14:08
ivyanushkevich
Ничего себе а зачем так много то, наверно нужно подправить все таки количесто того чт ты грузиш.
Просто представляю себе человека просматривающего 400000 тисяч записей . Это если на экране умещается 30 записей примерно нужно 13333 тисяч раз пролистать экранов ничего себе получается.
Автор: ivyanushkevich
Дата сообщения: 06.10.2006 14:18
Ну насколько я знаю, в IBExpert'у используется именно этот грид, и он нормально грузит эту таблицу целиком. Жрет конечно памяти много, но грузит. Значит как-то можно?

Конечно я столько не буду грузить, но просто сам факт того, что валится с нехваткой памяти ставит вопрос о том, а сколько же записей она потянет? Для меня это критично....
Автор: RedPromo
Дата сообщения: 06.10.2006 14:52
ivyanushkevich
А сче ты взял что он сразу все грузит он грузит порциями кстати у него чуть выше есть лабел куда он пишет количество зафетчены записей.
Правда если опуститца до конца.
Автор: golkanavt
Дата сообщения: 06.10.2006 15:11
ivyanushkevich
Смотря в каком режиме. Если не нужны основные фичи как то фильтрация и сортировка, то пользуй GirdMode. Но даже в этом случае разумное количество загружаемых данных - наипервейшее требование, логика приложения должна учитывать физические способности человека, а они явно не потянут обработку 400К записей. У твоих юзеров Out of Memory случится гораздо раньше чем у железки

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Kylix


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.