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

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

Автор: linker_2009
Дата сообщения: 11.08.2011 12:12
marser
А просто DataController.RecordCount:=0; уже не работает?
Автор: marser
Дата сообщения: 11.08.2011 12:28
linker_2009

Цитата:
А просто DataController.RecordCount:=0; уже не работает?

А хрен его знает. Я все время сносил по другому. Почему-то у меня RecordCount ассоциировалось с ReadOnly. Век живи век учись.
Автор: mdid
Дата сообщения: 11.08.2011 13:32
linker_2009
ааа...дико отбиваю поклоны благодарности...я тоже как и marser очищал в цикле
Автор: X11
Дата сообщения: 12.08.2011 15:13
Вопрос опять по циклу по cxGrid.
Как правильно пройтись по TcxGridTableView, если грид отсортирован, отфильтрован, сгруппирован? Нужно пройтись по всем записям, которые не отфильтрованы и в том порядке, как они видны в гриде после сортировки.

Есть код

Код: Var
ARowIndex: Integer;
ARowInfo: TcxRowInfo;
iCurRec: integer;
begin
aSourceView := TcxGridTableView(SourcecxGrid.ActiveView);

with aSourceView.DataController do
for iCurRec := 0 to aSourceView.DataController.FilteredRecordCount -1 do
begin
ARowIndex := GetRowIndexByRecordIndex(iCurRec, true);
ARowInfo := GetRowInfo(ARowIndex);

if ARowInfo.Level < Groups.GroupingItemCount then
Continue
else
try
if VarToStr(Values[ARowInfo.RecordIndex, colPhone.Index]) = '' then
sPhones := VarToStr(Values[ARowInfo.RecordIndex, colPhoneInBase.Index])
Автор: tanaseduard
Дата сообщения: 12.08.2011 15:17
X11

Может стоит идти по циклу в

Код: for iCurRec := 0 to aSourceView.ViewData.FilteredRecordCount -1 do
Автор: X11
Дата сообщения: 12.08.2011 15:32
разве у ViewData есть FilteredRecordCount?
Автор: tanaseduard
Дата сообщения: 12.08.2011 15:36
X11
Извини, случайно скопипастил.
Имелось ввиду пройтись по все записям в масиве ViewData.
Анализировать IsData поле и по идее они там в том виде как на гриде и порядок тоже
Автор: X11
Дата сообщения: 12.08.2011 15:38
Дело в том, что Record indexes не изменяются во время сортировки

Добавлено:

Цитата:
Анализировать IsData поле и по идее они там в том виде как на гриде и порядок тоже

не понял
Автор: tanaseduard
Дата сообщения: 12.08.2011 15:40
X11
Странно, посмотрю у себя вечерком, помню мы выбирали данные именно так как на екране и помню что вроде через ViewData
Автор: vladman
Дата сообщения: 12.08.2011 16:04
X11

Цитата:
Дело в том, что Record indexes не изменяются во время сортировки

Можно попробовать RowIndex.
Автор: X11
Дата сообщения: 12.08.2011 16:15
а конкретнее, с примером?

Добавлено:
Так?


Код:

with aSourceView.DataController do
for iCurRow := 0 to aSourceView.ViewData.DataController.RowCount - 1 do
begin
ARowInfo := GetRowInfo(iCurRow);

if ARowInfo.Level < Groups.GroupingItemCount then
Continue
else
try
if VarToStr(Values[ARowInfo.RecordIndex, colPhone.Index]) = '' then
sPhones := VarToStr(Values[ARowInfo.RecordIndex, colPhoneInBase.Index])
else
begin
if VarToStr(Values[ARowInfo.RecordIndex, colPhoneInBase.Index]) <> '' then

Автор: tanaseduard
Дата сообщения: 12.08.2011 16:31
X11

Пробегись циклом по колонкам в Grid1.DataController.Groups и поставь им Visible в True.
А потом чисть
Автор: vai
Дата сообщения: 12.08.2011 16:38
X11
У меня тоже такая проблема была
Я делаю так - перед выполнением cleargrouping
выполняю следующий код

for i:=0 to tcxGridTableView(cxGrid.FocusedView).GroupedColumnCount-1 do
tcxGridTableView(cxGrid.FocusedView).GroupedColumns[i].Visible:=True;

Здесь показан код для текущего View но тоже можно сделать и для всех остальных
Автор: X11
Дата сообщения: 12.08.2011 16:56

Цитата:
Пробегись циклом по колонкам в Grid1.DataController.Groups и поставь им Visible в True.
А потом чисть


та не, не то
Вы забыли, что пользователь сам может прятать/показывать колонки и это должно сохраняться и восстанавливаться.
Автор: tanaseduard
Дата сообщения: 12.08.2011 17:23
X11

Тогда как ты планируешь узнавать или нужно колонку из группировки показать?
Автор: vai
Дата сообщения: 15.08.2011 09:58
X11
Тогда ты сам не знаешь что хочешь.
1. Когда ты группируешь по колонке по она видимая, а при помещении в группировку становиться неводимой, если не установлен соответствующий параметр
2. Когда ты разгруппировуешь то соответственно и нужно сделать ету колонку видимой.
или если сустановлен параметр не скрывать группируемые колонки то при отмене группировки они так и остануться видимыми или невидимыми.
Автор: PrWork1
Дата сообщения: 15.08.2011 11:49
Уважаемые, просветите, пожалуйста!

В чем разница между DevExpress VCL v57 и DevExpress 2011 1.5?
Почему 2 разные линейки?
Автор: Alien92
Дата сообщения: 15.08.2011 12:06
Подскажите, пожалуйста!
В cxGrid у одной из колонок стоит: Properties: CheckBox, DataBinding->ValueType Boolean
Как мне понять, какие строки в данный момент выделены чекбоксом?
Автор: Cryogen2003
Дата сообщения: 15.08.2011 12:26
Alien92
Дык просто проставь Properties в виде CheckBox и подстрой как захочешь ))))
Это же девки, а не EhLib
Автор: Alien92
Дата сообщения: 15.08.2011 12:39
Cryogen2003
Вопрос немного не в том, я не совсем понимаю как это прописать в коде.
У меня такая ситуация, при нажатии на кнопку 1, у меня заполняется таблица вот таким образом:

    TcxCustomDataController *dc = NULL;
    dc = cxGrid1->Levels->Items[0]->GridView->DataController;
    j = dc->RecordCount;
     while(j > 0)
     {dc->DeleteRecord(0); j--;}

dc->RecordCount = 0;
    ++dc->RecordCount;
    dc->Values[i][0] = inifile->ReadString("...","...","...");
    ...
dc->Values[i][6] = sFileName;

    TcxCustomDataController *dc1 = dc->GetDetailDataController(i,0);
    dc1->RecordCount = 0;

    ++dc1->RecordCount;
    dc1->Values[i][0] = inifile->ReadString("...","...","...");
    ...    
dc1->Values[i][6] = inifile->ReadString("...","...","...");
    i++;

Также, кроме заполнения, на пермом левеле создана колонка чекбоксов.
после того, как таблица выведена на экран, пользователь может выбрать нужные ему строки и при нажатии на Кнопку 2 мне нужно понять какие именно строки выделены чекбоксом.

Подскажите, кто знает, как это делается. Если можно, пример кода. Заранее благодарен!
Автор: vai
Дата сообщения: 15.08.2011 13:07
PrWork1

Цитата:
В чем разница между DevExpress VCL v57 и DevExpress 2011 1.5


Серия 5х это как и раньше - но исправленными ошибками .
А 2011 - 7 версии наиболее востребованных пакетов.
Автор: FunCode
Дата сообщения: 15.08.2011 14:07
vai

Цитата:
Серия 5х это как и раньше - но исправленными ошибками .
А 2011 - 7 версии наиболее востребованных пакетов.

А подробней можно написать, потому как на их сайте не могу найти инфы по данному вопросу ...
Автор: PrWork1
Дата сообщения: 15.08.2011 14:36

FunCode


Цитата:
А подробней можно написать, потому как на их сайте не могу найти инфы по данному вопросу ...


Это я должен был написать! Присоединяюсь...
Автор: fitget
Дата сообщения: 15.08.2011 14:43
Alien92

А GridView без датасетовые? А то проще по датасету пробежать.
Автор: vai
Дата сообщения: 15.08.2011 14:51
PrWork1
FunCode
Почитайте Whats New 2011 Ссылка
и все поймете
Автор: V1s1ter
Дата сообщения: 15.08.2011 14:54
PrWork1

Цитата:
В чем разница между DevExpress VCL v57 и DevExpress 2011 1.5?
Почему 2 разные линейки?

DevExpress 2011 потихоньку заменяет DevExpress VCL vXX. Набор компонент тот же за исключением ветвлений по версиям и устаревших сомпонент.. Типа был QuantumTreeList 3, 4, 5, а станет просто QuantumTreeList. Я так понял.
Автор: PrWork1
Дата сообщения: 15.08.2011 15:06
vai
V1s1ter
Спасибо!
Автор: Alien92
Дата сообщения: 16.08.2011 08:43
fitget
Без. А если без датасета, то как это можно сделать?
Автор: fitget
Дата сообщения: 16.08.2011 09:48
Alien92

А GetEditValue у TcxCustomDataController?
Автор: FunCode
Дата сообщения: 16.08.2011 09:48
vai

Цитата:
Почитайте Whats New 2011 Ссылка
и все поймете

Спасибо. Это читал - кстати там никакого упоминания о том, что это в дальнейшем будет отдельной линейкой или что это беты. PrintingSystem там нету - тоже не ясно. ну да ладно, покрайней мере то, что мне нужно там есть.

Но вот вопрос по этой ссылке Whats New 2011.1.3, но уже появились 2011.1.4 и 2011.1.5, но на них я не нашел Whats New - может кто встречал и сможет поделиться этой информацией ?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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