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

» Использование DevExpress (часть 4)

Автор: X11
Дата сообщения: 20.09.2011 11:05
Почему-то у меня cxDBTreeList.DataController.RecordCount всегда равно 0 (нулю)
Dev 2011.1.5
Автор: X11
Дата сообщения: 20.09.2011 13:12
У кого-нибудь есть доступ к техподдержке?
Напишите, что cxDBTreeList.DataController.RecordCount всегда 0 возвращает.
Автор: FunCode
Дата сообщения: 20.09.2011 18:30
Народ, кто обладает информацией о поддержке DevExpress VCL Delphi XE2, когда ждать?
Автор: marser
Дата сообщения: 21.09.2011 06:51
FunCode

Цитата:
Народ, кто обладает информацией о поддержке DevExpress VCL Delphi XE2, когда ждать?

А разве нужно ждать? По крайней мере, в DevExpress 2011.1.6 есть пакеты для XE2.
Автор: AKRAV
Дата сообщения: 21.09.2011 15:48
Ребята подскажите пожалуйста можно ли сделать следующее?:
Ребята подскажите пожалуйста можно ли сделать следующее?:
Есть DevExpress.XtraGrid.GridControl , к которому пребиндин DataTable. Некоторым столбцам выставлена группировка, пользователь раскрывает сгруппированные элементы грида, что-то там смотрит, потом в некотором случае необходимо обновить DataTable. Так вот, после обновления, естественно весь грид перерисовывается, а вот как бы сделать так, чтобы все сгруппированные строки, которые пользователь открывал автоматически открылись, ну, т.е. чтобы для пользователя визуально желательно вообще ничего не изменилось в крайнем случае просто всё промерцало.

ЗЫ:.NET (DevExpress.XtraGrid.GridControl + DataTable + Группировка, обновление данных.)
Автор: BlackVetal
Дата сообщения: 22.09.2011 06:17
AKRAV
на C# можно попробовать BindingContext. У меня в некотрых формах это используется следующим образом - есть родительский грид и дочерний, данные в основнов вводятся в дочерний, а в родительском нужно пересчитывать данные и обновлять. естесно если обновлять коллекцию данных, то перерисуется грид, строка редактируемая потеряет фокус, ну и т.д. При пересчете строки в родительском гриде через bindingContext я обновляю только нужную мне строку - в итоге данные обновлены, фокус не потерян ...
Автор: rrromano
Дата сообщения: 22.09.2011 08:56

Цитата:
Народ, кто обладает информацией о поддержке DevExpress VCL Delphi XE2, когда ждать?


_http://community.devexpress.com/blogs/ctodx/archive/2011/08/18/rad-studio-xe2-what-we-re-doing-about-supporting-it-and-when.aspx

Там что-то говорится по этому поводу.
Автор: AKRAV
Дата сообщения: 22.09.2011 10:04
BlackVetal немного, не то. Дело в том что в DataTable делается запрос с полным обновлением.
Т.е. вот что происходит при обновлении:

Код:
sqLiteConnection.ConnectionString = "Data Source = " + mUnitsTablesFullFileName;
sqLiteConnection.SetPassword(SqLiteConnectionPassword);

if (sqLiteConnection.State == ConnectionState.Closed)
sqLiteConnection.Open();

_sqLiteDataSet.Tables["MeteringUnits"].Rows.Clear();

sqLiteCommand.CommandText =
" SELECT mu.* " +
" FROM MainUnits mu ";

sqLiteCommand.CommandType = CommandType.Text;

sqLiteDataAdapter.Fill(_sqLiteDataSet, "MainUnits");

iCountData = _sqLiteDataSet.Tables["MainUnits"].Rows.Count;

sqLiteConnection.Close();

gridControlMeter.DataSource = _sqLiteDataSet.Tables["MainUnits"];
Автор: BlackVetal
Дата сообщения: 22.09.2011 12:51
AKRAV
Почему не то ? после обновления данных происходит естественно обновление грида, что в свою очередь ведет к потере фокуса и открытых групп. если допустим обновить данные только одной строки через bindingContext, то перерисовка грида не произойдет - обновятся только данные в гриде. То что я писал выше - это только один из примеров использования. Вот если полностью обновлять источник данных - я не нашел способ как сохранить состояние грида, да в принцепе это и не логично ...

Вообще - попробуй вместо TableData использовать XPO объекты ... может количество обращений к бд уменьшить

ЗЫ. Подумай, а так ли тебе нужно полное обновление ?
Автор: exteris
Дата сообщения: 23.09.2011 11:11
А кто-нибудь уже запустил в работу 7-е Девы? Какое впечатление? Интересует глюкавость и скорость работы по сравнению в предыдущими.
Автор: fortezza
Дата сообщения: 23.09.2011 12:02
Здравствуйте. Использую TcxHyperLinkEditProperties для столбца, но при наведении на ссылку курсора он превращается в руку только если ячейка находится в фокусе. Как можно поставить то ли автоматическую фокусировку при наведении, то ли установку курсора в руку независимо от фокуса?

И ещё, напомните, можно ли снять раскраску полей у cxGridTableView и если да, то где?
Спасибо.
Автор: linker_2009
Дата сообщения: 23.09.2011 13:30

Цитата:
И ещё, напомните, можно ли снять раскраску полей у cxGridTableView и если да, то где?


Если используете скины, то создайте новый дефолтный стиль и выставите у <YoucxGridView>.Styles.Content. Также посмотрите свойства LookAndFeel у cxGrid.


Цитата:
Использую TcxHyperLinkEditProperties для столбца, но при наведении на ссылку курсора он превращается в руку только если ячейка находится в фокусе.Как можно поставить то ли автоматическую фокусировку при наведении, то ли установку курсора в руку независимо от фокуса?

Нет, только через событие onMouseMove вива определять навели ли на эту колонку и менять курсор вручную.

Автор: mdid
Дата сообщения: 26.09.2011 10:44
драсте..нигде не могу найти..как определить клик по группировке?то есть есть группировка по 1 и 3 полю...как определить клик допустим по 1 полю...это нужно что бы не попапить меню по 1 группировке
Автор: DanMadNomad777
Дата сообщения: 26.09.2011 11:37
по поводу девок от feandy 57. я выбираю русские ресурсы ini - файлы, но после компиляции почему то все на английском. Что я делаю не так?
Автор: Cryogen2003
Дата сообщения: 26.09.2011 11:41
DanMadNomad777
Ты попробуй этот ini файл подсоединить к проекту через TcxLocalizer и глядишь, все заработает ))))))
Автор: DanMadNomad777
Дата сообщения: 26.09.2011 12:22
Cryogen2003
Спасибо заработало. Хотя конечно лучше бы в pas файлах
Автор: Cryogen2003
Дата сообщения: 26.09.2011 12:36
DanMadNomad777
А лучше если ты создашь res файл с этим инишником, добавишь res файл в проект в виде ресурса и откроешь этот ресурс в TcxLocalizer. Так не придется таскать с exe-файлом инишник.

Процесс создания:
Создаешь файлик с расширением rc (например [more=devexpressrus.rc]
de_rus rcdata rus.ini
[/more]), потом компилишь его с помощью brcc32.exe (находиться в бине, в дельфях).
Получаешь файлик с расширением res (например devexpressrus.res).

Внутри главной формы, на которой валяется TcxLocalizer подключаешь res файл к проекту, например так: {$R devexpress.res} и где-то внутри FormCreate или DataModuleCreate [more=пишешь следующее]
Var
ResourceStream: TResourceStream;
Begin
//Инициализация
ResourceStream := TResourceStream.Create(HInstance, 'de_rus', RT_RCDATA);
Try
cxLocalizer1.LoadFromStream(ResourceStream);
cxLocalizer1.LanguageIndex := 1049;
cxLocalizer1.Active := True;
Finally
FreeAndNil(ResourceStream);
End;
......
End;
[/more]
Автор: linker_2009
Дата сообщения: 26.09.2011 15:02
mdid
В прошлый раз не понял что именно хотите, в этот раз тоже. Так что сами поправите.
[more]
procedure TForm1.View1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
AHitTest: TcxCustomGridHitTest;
index:integer;
begin
if (Button = mbRight) and (Sender is TcxGridSite) then
begin
AHitTest := TcxGridSite(Sender).ViewInfo.GetHitTest(X, Y);
case AHitTest.HitTestCode of
htRecord:Begin
index:=TcxGridGroupRowViewInfo(
TcxGridRecordHitTest(AHitTest).ViewInfo).GridRecord.GroupedColumn.Index;
Showmessage(View1.Columns[index].DataBinding.FieldName);
End;
end;
end;
end;
[/more]
Автор: mdid
Дата сообщения: 26.09.2011 16:08
черт а я оказывается уже спрашивал...пасиб..склероз подкрался(
ПС
пасиб...то что надо
Автор: marser
Дата сообщения: 26.09.2011 19:08
Cryogen2003

Цитата:
Процесс создания:
Создаешь файлик с расширением rc (например devexpressrus.rc), потом компилишь его с помощью brcc32.exe (находиться в бине, в дельфях).
Получаешь файлик с расширением res (например devexpressrus.res).

Ну, зачем так сложно? В папке ExpressLibrary есть файлик cxLocalizerEditor.exe. Запускаешь его, загружаешь ini файл, кликаешь пункт меню Filе\Build Resource file и res файл готов.
Автор: Cryogen2003
Дата сообщения: 27.09.2011 07:20
marser
)))) можно и так, просто как то привык руками создавать файл с ресурсами, наверное просто привычка
Автор: Potapich1978
Дата сообщения: 28.09.2011 07:22
всем привет!
вопрос по TcxSpreadSheet.
есть необходимость разместить текст в ячейке вертикально. Может кто сталкивался?


Автор: X11
Дата сообщения: 28.09.2011 10:07
Вопрос по TcxGrid.
У TcxGridTableView есть возможность включить строку добавления сразу под заголовком
<TcxGridTableView>.NewItemRow.Visible := True

Вопрос такой: как сделать так, чтобы можно было перемещаться между ячейками этой строки (вправо/влево) клавишами Tab и Shift+Tab соответственно?
Автор: marser
Дата сообщения: 28.09.2011 12:34
X11
OptionsBehavior.FocusCellOnTab := True не работает?
Автор: X11
Дата сообщения: 28.09.2011 12:48
marser +1!!!!
Автор: AlexCoRu
Дата сообщения: 29.09.2011 14:49
Последние девы 2011 1.6 и последняя дельфа ХЕ2

Поле типа дата в TcxGridDBLayoutView, с TcxGridDBTableView тоже самое.

На D7 всё как надо.
Автор: AlexCoRu
Дата сообщения: 30.09.2011 19:03
Комбинация та же: последнии девы 2011 1.6 и последняя дельфа ХЕ2.
Кладём на форму TdxRibbonBackstageView, делаем на BackstageView несколько закладок, на закладку помещаем TcxMemo. Если в этой мемо, в дизайне, заполнить свойство Lines и в дизайне BackstageView переместить на задний план, то при выполнении закладок не будет. Если Lines оставить пустым, то будут.
На D7 всё как надо.
Автор: tatbesidovska
Дата сообщения: 01.10.2011 14:22
Добрый день. Подскажите, пожалуйста как можно на C# экспортировать данные из GridControl в xml файл, а затем импортировать данные из этого xml в GridControl. Спасибо
Автор: crazypiggy
Дата сообщения: 01.10.2011 18:08
Добрый день. Помогите пожалуйста с проблемой.
Есть cxGridDBTableView я его подсоединяю к dxMemData. Один столбец в этой вьюшке создаю без привязки к полям dxMemData для того чтобы можно было туда вручную записать данные и потом их обработать. Проблема в том что при занесении в этот столбец цифр и нажатии Enter цифры пропадают. Ячейка становится пустой. Если нажму ТАБ вроде данные остаются, но при занесении в следующую ячейку все данные из столбца пропадают.

И ещё вопрос заношу данные в dxMemData след. образом

Код:
DM.dxtUslugi.InsertRecord(['1','2','3']);
Автор: X11
Дата сообщения: 01.10.2011 18:22
а стандартным способом?

Код: dxMemData.append;
dxMemData.FieldByName('f1').asInteger := 1;
dxMemData.FieldByName('f2').asString := 'тру-ля-ля';
dxMemData.Poat;

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

Предыдущая тема: Помогите пожалуйста с блокировкой клавиатуры и мышки


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