У кого-нибудь есть файлик с изменениями которые были сделаны в майских DevEx?
» Использование DevExpress
mln141
Нет, нельзя.. на печать грид выводится в том виде как он у тебя отрисовывается на экране. Как вариант - только извращаться с сохранением состояния перед печатью и последущим востановлением. у меня была подобная задача, мне помимо раскрытия уровней еще необходимо стили менять, чтобы на печати грид был черно белым а не в цветах.
Нет, нельзя.. на печать грид выводится в том виде как он у тебя отрисовывается на экране. Как вариант - только извращаться с сохранением состояния перед печатью и последущим востановлением. у меня была подобная задача, мне помимо раскрытия уровней еще необходимо стили менять, чтобы на печати грид был черно белым а не в цветах.
golkanavt
Понял. А насчет стилей то это я решил просто - создал StyleSheet черно-белый и установил report linkу именно его. В результате на экране в цвете (как стиль грида), а на печати ч/б
Понял. А насчет стилей то это я решил просто - создал StyleSheet черно-белый и установил report linkу именно его. В результате на экране в цвете (как стиль грида), а на печати ч/б
Поделитесь опытом, кто чем пользуется, когда нужно табличное представление, естественно, единый стиль приложения, но тяжелый девексповский Grid использовать, все-равно что микроскопом по гвоздям?
Поясню:
На форме должно присутствовать несколько табличных элементов, всего в 3-4 колонки и строк по 5-10 максимум. Строки должны редактироваться, желательно с использованием девовсих компонентов (напр. PopupControlEdit).
С XtraGrid все, конечно, легко делается, но форма, после добавления очередного грида, открывается ощутимо долго?
Чем пользоваться?
Или можно оптимизировать работу с гридом?
Или пользоваться обычным DataGrid с позиционированием элементов редактирования в нужные ячейки?
Поясню:
На форме должно присутствовать несколько табличных элементов, всего в 3-4 колонки и строк по 5-10 максимум. Строки должны редактироваться, желательно с использованием девовсих компонентов (напр. PopupControlEdit).
С XtraGrid все, конечно, легко делается, но форма, после добавления очередного грида, открывается ощутимо долго?
Чем пользоваться?
Или можно оптимизировать работу с гридом?
Или пользоваться обычным DataGrid с позиционированием элементов редактирования в нужные ячейки?
Kr_Alex
Могу подсказать где моно утащить весь майский Devex... дуй в личку...
Могу подсказать где моно утащить весь майский Devex... дуй в личку...
xxxxsoft
все таки хотелось бы и файл с изменениями
все таки хотелось бы и файл с изменениями
Хотелось бы сделать следующее:
Есть два уровня в гриде, когда делаешь печать, то автоматом откр. Все подуровни и после печати не совсем удобно смотреть на грид в котором открыты подуровни для каждой записи.
Как можно одним махом их закрыть, то есть свернуть?
Есть два уровня в гриде, когда делаешь печать, то автоматом откр. Все подуровни и после печати не совсем удобно смотреть на грид в котором открыты подуровни для каждой записи.
Как можно одним махом их закрыть, то есть свернуть?
xxxxsoft
Можно сделать так:
cxGrid1DBTableView1->DataController->Groups->FullCollapse();
аналогично FullExpand для раскрытия.
Можно сделать так:
cxGrid1DBTableView1->DataController->Groups->FullCollapse();
аналогично FullExpand для раскрытия.
В последних Девках заметил, что для детальных записей, входящих в группу отсутсвует отступ....А я к нему так привык. Может подскажет кто-нить как его вернуть...Может новые свойства появились?
Добавлено:
Как сделать чтобы в VerticalGrid курсор выставлялся на заданную строку?
Добавлено:
Как сделать чтобы в VerticalGrid курсор выставлялся на заданную строку?
int23
VerticalGrid.FocusedRow = rowMyRow; // что-то типа того...
VerticalGrid.FocusedRow = rowMyRow; // что-то типа того...
mln141
Спасибо, но когда обновляешь данные, то есть закрываешь и открываешь DataSet, то он все сворачивает.....
Добавлено:
mln141
Упс я не много не это имел ввиду, то что ты мне предлагаешь это справедливо для групп, я говорю про мастер детайл. Нужно одним махом разворачивать и сворачивать все детали.
Спасибо, но когда обновляешь данные, то есть закрываешь и открываешь DataSet, то он все сворачивает.....
Добавлено:
mln141
Упс я не много не это имел ввиду, то что ты мне предлагаешь это справедливо для групп, я говорю про мастер детайл. Нужно одним махом разворачивать и сворачивать все детали.
xxxxsoft
Цитата:
Рекурсивное раскрытие записей MasterView:
TcxGridDBTableView(cxGrid1.MasterView).ViewData.Expand(True);
Рекурсивное сворачивание записей MasterView:
TcxGridDBTableView(cxGrid1.MasterView).ViewData.Collapse(True);
Подробнее смотри в Help.
Цитата:
Нужно одним махом разворачивать и сворачивать все детали.
Рекурсивное раскрытие записей MasterView:
TcxGridDBTableView(cxGrid1.MasterView).ViewData.Expand(True);
Рекурсивное сворачивание записей MasterView:
TcxGridDBTableView(cxGrid1.MasterView).ViewData.Collapse(True);
Подробнее смотри в Help.
Привет всем.
Использую BandedTable в cxGrid'е (версия последняя - майская).
Проблема такая:
В первом Band'е находиться ImageComboBox, кот. занимает двойную высоту.
Во втором обычные колонки в два ряда. Когда в ImageComboBox подставляю ImageList c изображениями 32х32, все колонки по высоте становятся 32, а колонка в первом Band'е - соответственно 64.
Никто не сталкивался?
В dxGride(3.2) все было нормально.
Использую BandedTable в cxGrid'е (версия последняя - майская).
Проблема такая:
В первом Band'е находиться ImageComboBox, кот. занимает двойную высоту.
Во втором обычные колонки в два ряда. Когда в ImageComboBox подставляю ImageList c изображениями 32х32, все колонки по высоте становятся 32, а колонка в первом Band'е - соответственно 64.
Никто не сталкивался?
В dxGride(3.2) все было нормально.
Alex47
Спасибо...
Только вот с help-ми напряг я сурсы из инета вытянул, но там хелпов не было, вот только что в исхлодниках найду, то и делаю....
А У Вас нет случаем хорошего help-a по из Планировщику и желательно демки для VCL...
Заранее боагодарен....
Спасибо...
Только вот с help-ми напряг я сурсы из инета вытянул, но там хелпов не было, вот только что в исхлодниках найду, то и делаю....
А У Вас нет случаем хорошего help-a по из Планировщику и желательно демки для VCL...
Заранее боагодарен....
Бьюсь над проблемой, которую никак не могу решить. Delphi7+cxGrid5.3+FIBPlus6.2+Firebird1.5
Две таблицы мастер-деталь: COUNTRY и CITY. Проблема с тем, что у детали (CITY) отображается только часть записей, соответствующих мастеру (COUNTRY). Причем набор 'пропавших' записей меняется 'случайным' образом.
Облазил примеры, форумы. Попробовал все, что нашел. Знаю, что такая проблема возникает, когда деталь не отсортирована по полю, связывающему ее с мастером. У FIBDataSet детали в select поставил 'ORDER BY COUNTRY_ID'. Не помогает. Если просто отобразить CITY в cxGrid (без COUNTRY), то все записи нормально отображаются, отсортированные по COUNTRY_ID.
Если кто сталкивался с такой проблемой или может посоветовать, что еще можно попробовать, буду благодарен.
Две таблицы мастер-деталь: COUNTRY и CITY. Проблема с тем, что у детали (CITY) отображается только часть записей, соответствующих мастеру (COUNTRY). Причем набор 'пропавших' записей меняется 'случайным' образом.
Облазил примеры, форумы. Попробовал все, что нашел. Знаю, что такая проблема возникает, когда деталь не отсортирована по полю, связывающему ее с мастером. У FIBDataSet детали в select поставил 'ORDER BY COUNTRY_ID'. Не помогает. Если просто отобразить CITY в cxGrid (без COUNTRY), то все записи нормально отображаются, отсортированные по COUNTRY_ID.
Если кто сталкивался с такой проблемой или может посоветовать, что еще можно попробовать, буду благодарен.
Сам же и нашел ответ в ньюсах от некоего Silvano Sam:
> Hi,
> With IBExpress Master Detail works correctly but with Fibplus 6.2/6.1, QG5
> don't show all record detail.
>
> Is it problem of quantum grid or Fibplus?
> Any comment on this problem?
Hi,
I have solved my problem. In Fibdataset, in PrepareOptions set property
psGetOrderInfo to False.
> Hi,
> With IBExpress Master Detail works correctly but with Fibplus 6.2/6.1, QG5
> don't show all record detail.
>
> Is it problem of quantum grid or Fibplus?
> Any comment on this problem?
Hi,
I have solved my problem. In Fibdataset, in PrepareOptions set property
psGetOrderInfo to False.
VerticalGrid.FocusedRow = rowMyRow; // что-то типа того...
Пробовал я так. Получается, что фокус получает вся строка....А мне нужно чтобы поле редактирование для самого значения и чтобы в конец строки а не заменялось...
Пробовал я так. Получается, что фокус получает вся строка....А мне нужно чтобы поле редактирование для самого значения и чтобы в конец строки а не заменялось...
Alex47
Да был я там, но там 100 страниц писть смысла нет сразу скажут лопать весь форум, а поиск дло сих пор не сделали.
Да был я там, но там 100 страниц писть смысла нет сразу скажут лопать весь форум, а поиск дло сих пор не сделали.
xxxxsoft
а ты пробуй версию для печати, не найдешь - обращайся к мемберам, помогут. если результата не будет, то стучись в личку.
у меня такой вопрос, может кто сталкивался с подобным: есть связка мастер-деталь, соответственно, двухуровневый грид. Мастер в свою очередь связан с другим датасетом верхнего уровня(назовем его мегамастеро ), так вот при переходе с записи на запись в мегамастере, каждый раз открывается первая запись детали, что не есть гуд. попытка выполнить рекурсивное сворачивание при переоткрытии датасета ничего не дает, видимо это событие обрабатывается где то глубже. зато если сворачивание повесить на кнопку, все работает на ура. есть у кого какие соображения на сей предмет?
Наглядный пример: (вверху - мегамастер, ниже - грид с мастер-деталью)
а ты пробуй версию для печати, не найдешь - обращайся к мемберам, помогут. если результата не будет, то стучись в личку.
у меня такой вопрос, может кто сталкивался с подобным: есть связка мастер-деталь, соответственно, двухуровневый грид. Мастер в свою очередь связан с другим датасетом верхнего уровня(назовем его мегамастеро ), так вот при переходе с записи на запись в мегамастере, каждый раз открывается первая запись детали, что не есть гуд. попытка выполнить рекурсивное сворачивание при переоткрытии датасета ничего не дает, видимо это событие обрабатывается где то глубже. зато если сворачивание повесить на кнопку, все работает на ура. есть у кого какие соображения на сей предмет?
Наглядный пример: (вверху - мегамастер, ниже - грид с мастер-деталью)
golkanavt
Можно использовать обработчики событий:
cxGrid1DBTableViewMaster.DataController.OnDetailExpanding
cxGrid1DBTableViewMaster.DataController.OnDetailExpanded
В OnDetailExpanding, если AAllow := False; то
раскрытие программно запрещается.
Добавлено:
xxxxsoft
Цитата:
Ну, не так все страшно.
Вас должна интересовать шапка и 78 страница.
Не мешает посмотреть и следущие за ней.
Можно использовать обработчики событий:
cxGrid1DBTableViewMaster.DataController.OnDetailExpanding
cxGrid1DBTableViewMaster.DataController.OnDetailExpanded
В OnDetailExpanding, если AAllow := False; то
раскрытие программно запрещается.
Добавлено:
xxxxsoft
Цитата:
но там 100 страниц писть смысла нет сразу скажут лопать весь форум
Ну, не так все страшно.
Вас должна интересовать шапка и 78 страница.
Не мешает посмотреть и следущие за ней.
DBVerticalGrid в нем MaskEdit - как получить введеное значение?
Alex1978
У него должно быть событие смены значения, посмотри все события выстовленного проперти.....
У него должно быть событие смены значения, посмотри все события выстовленного проперти.....
xxxxsoft
Да есть OnEditValueChanged. Вот только xxx.Properties.Value всегда одно и тоже.
Да есть OnEditValueChanged. Вот только xxx.Properties.Value всегда одно и тоже.
Alex1978
ты посмотри сво-во DisplayText или что-то подобное я сейчас не помню давно помню рылся а девку сейчас влом открывать систему перставляю вирусы атаковали....
ты посмотри сво-во DisplayText или что-то подобное я сейчас не помню давно помню рылся а девку сейчас влом открывать систему перставляю вирусы атаковали....
xxxxsoft
Тоже самое.
Тоже самое.
кстати, если кому интересно, нашел решение своей проблемы описанной выше.
подобное поведение жестко зашито в коде грида, поэтому приходится править сырцы:
Код: unit cxDBData
...
function TcxDBDataController.SyncMasterDetail: TcxCustomDataController;
...
if AEqualFlag then
begin
{ ADataController := AMasterDataController.SyncMasterDetail;
if ADataController <> nil then
Result := ExpandDetails(ADataController, AMasterRelation.Index);}
SyncMasterPos;
end;
подобное поведение жестко зашито в коде грида, поэтому приходится править сырцы:
Код: unit cxDBData
...
function TcxDBDataController.SyncMasterDetail: TcxCustomDataController;
...
if AEqualFlag then
begin
{ ADataController := AMasterDataController.SyncMasterDetail;
if ADataController <> nil then
Result := ExpandDetails(ADataController, AMasterRelation.Index);}
SyncMasterPos;
end;
golkanavt
А разве использование cxGrid1DBTableViewMaster.DataController.OnDetailExpanding
не помогает?
Этот обработчик и был добавлен, кажется, начиная с версии 4.5 для
управления раскрытием Detail.
У меня работает, правда ситуация несколько иная.
А разве использование cxGrid1DBTableViewMaster.DataController.OnDetailExpanding
не помогает?
Этот обработчик и был добавлен, кажется, начиная с версии 4.5 для
управления раскрытием Detail.
У меня работает, правда ситуация несколько иная.
Как в cxGridDBTableView в обработчике двойного клика определить на какой столбец кликнул пользователь?
Добавлено:
Нашёл решение. Вот это свойство cxGridDBTableView.Controller.FocusedColumn
Добавлено:
Нашёл решение. Вот это свойство cxGridDBTableView.Controller.FocusedColumn
golkanavt
Ух как вовремя я как в исходниках этот кусок кода искал, хотел поправить...
Молодец.....
Добавлено:
Alex1978
Да быть того не может:
Код:
void __fastcall TFrmQuickDeal::PricePropertiesValidate(TObject *Sender,
Variant &DisplayValue, TCaption &ErrorText, bool &Error)
{
double price, count;
Table->DataController->DataSource->DataSet->FieldByName("Price")->AsCurrency=DisplayValue;
price=DisplayValue;
AnsiString tmp=Count->Properties->GetDisplayText(Count->EditValue,true);
try{
count=tmp.ToDouble();
}
catch(...){return;}
Table->DataController->DataSource->DataSet->FieldByName("Sum")->AsCurrency=price*count;
TotalSum(price*count);
}
Ух как вовремя я как в исходниках этот кусок кода искал, хотел поправить...
Молодец.....
Добавлено:
Alex1978
Да быть того не может:
Код:
void __fastcall TFrmQuickDeal::PricePropertiesValidate(TObject *Sender,
Variant &DisplayValue, TCaption &ErrorText, bool &Error)
{
double price, count;
Table->DataController->DataSource->DataSet->FieldByName("Price")->AsCurrency=DisplayValue;
price=DisplayValue;
AnsiString tmp=Count->Properties->GetDisplayText(Count->EditValue,true);
try{
count=tmp.ToDouble();
}
catch(...){return;}
Table->DataController->DataSource->DataSet->FieldByName("Sum")->AsCurrency=price*count;
TotalSum(price*count);
}
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: Kylix
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.