Еще вопрос по гриду - как в реал-тайме узнать, есть ли у данной колонки Summary? Что-то типа GridDBTableView1.Columns[i].IsSummary?
» Использование DevExpress (часть 3)
vladman
Пока данный код проверить не могу, Вопрос только в том, будут ли сохраняться свойства поля как маскированного? Например при вызове автофильтра на маскированном поле, в диалоге автофильтра уже присутствует маска и т.д. Не будут ли теряться эти свойства? Тем более работа осложняется тем, что поля создаются динамически...
Пока данный код проверить не могу, Вопрос только в том, будут ли сохраняться свойства поля как маскированного? Например при вызове автофильтра на маскированном поле, в диалоге автофильтра уже присутствует маска и т.д. Не будут ли теряться эти свойства? Тем более работа осложняется тем, что поля создаются динамически...
vladman
Элегантно. Причем, если для стилей такой подход знаком, то с Properties как-то сразу не догадался
Postscriptum
GridDbColumn.Summary.FooterKind
или GroupFooterKind, GroupKind отличные от skNone (в числовом выражении - больше 0)
Элегантно. Причем, если для стилей такой подход знаком, то с Properties как-то сразу не догадался
Postscriptum
GridDbColumn.Summary.FooterKind
или GroupFooterKind, GroupKind отличные от skNone (в числовом выражении - больше 0)
Aleksandr_N
Цитата:
Наверное, имелось ввиду диалоге *Пользовательского фильтра* (*Custom filter*). Если именно в этом диалоге, то нет, маска при вводе значения для фильтра присутствовать не будет. Но можно подумать как это обработать, если это актуально.
Да, динамическое создание полей немного сложнее, чем в дизайнтайме, но не более того. Всегда можно ведь подсмотреть в исходники как это делают ребята из ДевЭкспресс.
afiget
Спасибо за
Цитата:
Цитата:
в диалоге автофильтра уже присутствует маска
Наверное, имелось ввиду диалоге *Пользовательского фильтра* (*Custom filter*). Если именно в этом диалоге, то нет, маска при вводе значения для фильтра присутствовать не будет. Но можно подумать как это обработать, если это актуально.
Да, динамическое создание полей немного сложнее, чем в дизайнтайме, но не более того. Всегда можно ведь подсмотреть в исходники как это делают ребята из ДевЭкспресс.
afiget
Спасибо за
Цитата:
Элегантно.
vladman
Цитата:
Жалко, ну что-нибудь придумаю
Цитата:
Честно говоря я что-то не заметил что они там делают что-то сверхординарное - банальные примеры.
Цитата:
Если именно в этом диалоге, то нет
Жалко, ну что-нибудь придумаю
Цитата:
Всегда можно ведь подсмотреть в исходники как это делают ребята из ДевЭкспресс.
Честно говоря я что-то не заметил что они там делают что-то сверхординарное - банальные примеры.
Aleksandr_N
Цитата:
Так не в примерах я предлагал подсматривать, а именно в исходниках самих компонент, ..\ExpressQuantumGrid 6\Sources\cxGridTableView.pas, например.
Цитата:
Честно говоря я что-то не заметил что они там делают что-то сверхординарное - банальные примеры
Так не в примерах я предлагал подсматривать, а именно в исходниках самих компонент, ..\ExpressQuantumGrid 6\Sources\cxGridTableView.pas, например.
vladman
Я тут ещё подумал: использовать маску типа emkRegExprEx. Но тут возникает та-же проблема. В этой маске исчезают символы типа "-", но начальные "2-24" остаются. Уточню: не запретить пользователю вводить символы кроме начальных "2-24", а именно при начале редактирования УЖЕ было "2-24". У меня не получилось создать такую маску. Не подскажете как правильно?
Я тут ещё подумал: использовать маску типа emkRegExprEx. Но тут возникает та-же проблема. В этой маске исчезают символы типа "-", но начальные "2-24" остаются. Уточню: не запретить пользователю вводить символы кроме начальных "2-24", а именно при начале редактирования УЖЕ было "2-24". У меня не получилось создать такую маску. Не подскажете как правильно?
Изучаю TcxDBTreeList.
Мне нужно, что бы цвет шрифта был соответствующим записи в БД (у каждого элемента есть свое поле FontColor).
Цвет я могу без проблем изменить в OnCustomDrawCell, а вот как мне узнать\прочитать его из БД? Т.е. нужно определить для какой записи компонент рисует ноду. Возможно ли такое вообще?
Мне нужно, что бы цвет шрифта был соответствующим записи в БД (у каждого элемента есть свое поле FontColor).
Цвет я могу без проблем изменить в OnCustomDrawCell, а вот как мне узнать\прочитать его из БД? Т.е. нужно определить для какой записи компонент рисует ноду. Возможно ли такое вообще?
Подскажите еще такую вещь - в реалтайме делаю Summary. Хотелось бы еще сумму по группе - чего-то не получается:
with Form1.GridDBTableView1.DataController.Summary do
begin
BeginUpdate;
try
with FooterSummaryItems.Add as TcxGridDBTableSummaryItem do
begin
s:=Pokaz.Items[Pokaz.ItemIndex];
Column:=Form1.GridDBTableView1.GetColumnByFieldName(Form1.T1.FindField(s).FieldName);
Format := 'Сумма= ,0.00;-,0.00';
Kind := skSum;
end;
finally
EndUpdate;
end;
Form1.GridDBTableView1.DataController.ClearDetails;
end;
Т.е. сделал Summary по полю Form1.T1.FindField(s).FieldName - все нормально отображается, суммируется. Теперь по группе:
with Form1.GridDBTableView1.DataController.Summary do
begin
BeginUpdate;
try
SummaryGroups.Clear;
with SummaryGroups.Add do
begin
TcxGridTableSummaryGroupItemLink(Links.Add).Column := Form1.GridDBTableView1.GetColumnByFieldName(Form1.T1.FindField(s).FieldName);
with SummaryItems.Add as TcxGridDBTableSummaryItem do
begin
Column := Form1.GridDBTableView1.GetColumnByFieldName(Form1.T1.FindField(s).FieldName);
Kind := skSum;
Format := 'Сумма= ,0.00;-,0.00';
Position:=spGroup;
end;
end;
finally
EndUpdate;
end;
Form1.GridDBTableView1.DataController.ClearDetails;
чего-то не появляется сумма по группе. В GridDBTableView1.OptionsView.GroupFooters=gfVisibleWhenExpanded
with Form1.GridDBTableView1.DataController.Summary do
begin
BeginUpdate;
try
with FooterSummaryItems.Add as TcxGridDBTableSummaryItem do
begin
s:=Pokaz.Items[Pokaz.ItemIndex];
Column:=Form1.GridDBTableView1.GetColumnByFieldName(Form1.T1.FindField(s).FieldName);
Format := 'Сумма= ,0.00;-,0.00';
Kind := skSum;
end;
finally
EndUpdate;
end;
Form1.GridDBTableView1.DataController.ClearDetails;
end;
Т.е. сделал Summary по полю Form1.T1.FindField(s).FieldName - все нормально отображается, суммируется. Теперь по группе:
with Form1.GridDBTableView1.DataController.Summary do
begin
BeginUpdate;
try
SummaryGroups.Clear;
with SummaryGroups.Add do
begin
TcxGridTableSummaryGroupItemLink(Links.Add).Column := Form1.GridDBTableView1.GetColumnByFieldName(Form1.T1.FindField(s).FieldName);
with SummaryItems.Add as TcxGridDBTableSummaryItem do
begin
Column := Form1.GridDBTableView1.GetColumnByFieldName(Form1.T1.FindField(s).FieldName);
Kind := skSum;
Format := 'Сумма= ,0.00;-,0.00';
Position:=spGroup;
end;
end;
finally
EndUpdate;
end;
Form1.GridDBTableView1.DataController.ClearDetails;
чего-то не появляется сумма по группе. В GridDBTableView1.OptionsView.GroupFooters=gfVisibleWhenExpanded
TechnoDreamer
Конечно возможно, так пробовали ?
procedure TForm1.cxDBTreeList1CustomDrawCell(Sender: TObject; ACanvas:
TcxCanvas; AViewInfo: TcxTreeListEditCellViewInfo; var ADone: Boolean);
begin
if not VarIsNull(AViewInfo.Node.Values[<Номер колонки со значением FontColor>]) then
begin
<Рисование>
end;
end;
Конечно возможно, так пробовали ?
procedure TForm1.cxDBTreeList1CustomDrawCell(Sender: TObject; ACanvas:
TcxCanvas; AViewInfo: TcxTreeListEditCellViewInfo; var ADone: Boolean);
begin
if not VarIsNull(AViewInfo.Node.Values[<Номер колонки со значением FontColor>]) then
begin
<Рисование>
end;
end;
Все, сам разобрался - теперь заработало
Последний (я надеюсь) вопрос по Гриду - пытаюсь настроить стили для грида. Настроил 3 стиля в GridDBTableView1.Styles - Header, Content и Footer. C Content все отлично - каким шрифтом и цветом настроил, таким содержимое и отображается, а с заголовком и подвалом никак не хочет. Чего-то в супе не хватает?
Последний (я надеюсь) вопрос по Гриду - пытаюсь настроить стили для грида. Настроил 3 стиля в GridDBTableView1.Styles - Header, Content и Footer. C Content все отлично - каким шрифтом и цветом настроил, таким содержимое и отображается, а с заголовком и подвалом никак не хочет. Чего-то в супе не хватает?
infomSB, спасибо. Про ваш вариант я то думал, но у меня то не было колонки с цветом. Я как то сразу не подумал, что можно сделать скрытую колонку, а вы натолкнули на мысль.
Сформулирую вопрос про маски cxGrid по другому. Тип маски emkRegExprEx мне что-то напоминает. Никто не вспомнит откуда они это взяли? Файла справки по маскам для меня недостаточно.
Спасибо.
Спасибо.
по кнопкам CxVerticalGrid
добавил ряд ButtonEdit, на кнопке установил Hint.
Кнопка видима только когда активен данный ряд. когда навожу на кнопку мышку, подсказка не появляется! Как сделать, чтобы она появилась?
добавил ряд ButtonEdit, на кнопке установил Hint.
Кнопка видима только когда активен данный ряд. когда навожу на кнопку мышку, подсказка не появляется! Как сделать, чтобы она появилась?
Aleksandr_N
Что именно напоминает: такой тип или название? Если название, то есть такой класс TRegExpr.
Что именно напоминает: такой тип или название? Если название, то есть такой класс TRegExpr.
jicoff
Напоминает способ написания маски например "(\(\d\d\d\))? \d(\d\d?)? - \d\d - \d\d"
Цитата:
А поконкретнее - что такое?
Добавлено:
jicoff
Цитата:
Уже нашел, изучу на досуге.
Напоминает способ написания маски например "(\(\d\d\d\))? \d(\d\d?)? - \d\d - \d\d"
Цитата:
TRegExpr
А поконкретнее - что такое?
Добавлено:
jicoff
Цитата:
TRegExpr
Уже нашел, изучу на досуге.
Felias Fogg
хинт появляется при наведении на caption
хинт появляется при наведении на caption
Цитата:
Последний (я надеюсь) вопрос по Гриду - пытаюсь настроить стили для грида. Настроил 3 стиля в GridDBTableView1.Styles - Header, Content и Footer. C Content все отлично - каким шрифтом и цветом настроил, таким содержимое и отображается, а с заголовком и подвалом никак не хочет. Чего-то в супе не хватает?
Дополню свой вопрос - немного неправильно спросил - и в содержимом, и в заголовке, и в подвале меняется только начертание (гарнитура) шрифта, кегль шрифта, но не могу поменять цвет, хотя в GridDBTableView1.Styles.Content.AssignedValues стоит[svColor,svFont,svTextColor]. Вернее, поменять-то можно все, но изменения цвета не отображаются на гриде. (Ставил ParentFont в false - без разницы). Что не так?
Столкнулся со странным поведением DockLibrary: TdxTabContainerDockSite, содержит три закладки, на каждой закладке - TMemo. Если программно сменить dxDockController.ActiveDockControl на другую закладку, то закладка активизируется, но фокус остается на TMemo с предыдущей закладки.
Это баг али фича? И в любом случае как с этим бороться?
Это баг али фича? И в любом случае как с этим бороться?
Chukotka
На меня вообще DockLibrary произвел глюкавое впечатление.
На меня вообще DockLibrary произвел глюкавое впечатление.
greenpc
Думаю, имелся ввиду другой хинт - хинт кнопки. В справке по этому поводу, кстати, ничего не написано. У меня ситуация воспроизводится: хинт на кнопке не появляется.
Думаю, имелся ввиду другой хинт - хинт кнопки. В справке по этому поводу, кстати, ничего не написано. У меня ситуация воспроизводится: хинт на кнопке не появляется.
Цитата:
greenpc
хинт появляется при наведении на caption
Только что пробовал сделать Button.Kind - bkText, Caption - 'B1', - при наведении на Caption хинт не показывается : (
Felias Fogg
Цитата:
Цитата:
TcxGrid...ParenCustomHint -??
Цитата:
хинт появляется при наведении на caption
Цитата:
Только что пробовал сделать Button.Kind - bkText, Caption - 'B1', - при наведении на Caption хинт не показывается : (
TcxGrid...ParenCustomHint -??
Цитата:
TcxGrid...ParenCustomHint -??
Я использую TcxDBVerticalGrid, ряд - ButtonEdit, TcxEditButton.Hint
В справке написано только
Цитата:
TcxEditButton.Hint
TcxEditButton
Specifies a hint message for the button.
property Hint: string;
Здрасте, извените если (скорее всего) не в той теме и если такой вопрос задавали, вообщем можите подсказать как сделать нормально работающию прокрутку (AutoScroll) на форме с Ribbon.
При прокрутки сдвигаются все объекты включая и сам Ribbon с сис.кнопками.
___________
П.с.
Или дайте хотяб ссыль на нужную тему, или подскажите что нить плз)
При прокрутки сдвигаются все объекты включая и сам Ribbon с сис.кнопками.
___________
П.с.
Или дайте хотяб ссыль на нужную тему, или подскажите что нить плз)
Felias Fogg
Цитата:
greenpc
afiget
Нужно установить свойство формы ShowHint = true. У себя проверил - хинт показывается при наведении на кнопку активной строки, т.е. все работает.
Но есть нюанс который мне не совсем понятен.
В SupportCenter есть BugReport - _http://www.devexpress.com/issue=B133178
Bug Report Details: TcxButtonEdit column - The column's hint is not displayed, if the ShowHint property is True
Итогом этого репорта есть - Public Fix Published for 6.42 by Developer Express Team at 1/26/2009 9:27:01 AM
Читает Release Notes для 42 билда _http://www.devexpress.com/Support/WhatsNew/VCL/files/42.xml, находим B133178 (B133178 - TcxButtonEdit column - The column's hint is not displayed, if the ShowHint property is True ) и видим, что не обманули.
Но, у меня стоит 41 билд, и все работает!
Какие у вас билды, и будет ли отображаться хинт при установке свойства формы ShowHint = true?
Добавлено:
Aleksandr_N
Цитата:
Если я правильно понял Ваши пожелания и исходя из маски "!2-24-0000;1;_", то попробуйте так - '2-24-\d\d\d\d'
Добавлено:
Postscriptum
Цитата:
Цвет начертания шрифта (TextColor) не меняется или не меняется заливка (Background) Header'a и Footer'a?
Если первое - то все так, и цвет начертания шрифта должен меняться и у себя проверил - меняется. Если второе, то скорее всего Вы используете скины, а они отрисовуют своими методами Header и Footer. Чтобы при использовании скинов изменить дефолтные цвета нужно выполнить некоторые дополнительные действия. Если это актуально, могу описать подробней.
Добавлено:
Chukotka
Цитата:
Попробуйте так:
<YourTabContainerDockSite>.ActiveChild := <YourDockPanel>
Должно работать.
Добавлено:
ZBEP
Цитата:
Если Ribbon от DevExpress, то в самой той.
Цитата:
Если приведете пример либо скриншот - будет намного понятнее что Вы хотите сделать.
Цитата:
по кнопкам CxVerticalGrid
greenpc
afiget
Нужно установить свойство формы ShowHint = true. У себя проверил - хинт показывается при наведении на кнопку активной строки, т.е. все работает.
Но есть нюанс который мне не совсем понятен.
В SupportCenter есть BugReport - _http://www.devexpress.com/issue=B133178
Bug Report Details: TcxButtonEdit column - The column's hint is not displayed, if the ShowHint property is True
Итогом этого репорта есть - Public Fix Published for 6.42 by Developer Express Team at 1/26/2009 9:27:01 AM
Читает Release Notes для 42 билда _http://www.devexpress.com/Support/WhatsNew/VCL/files/42.xml, находим B133178 (B133178 - TcxButtonEdit column - The column's hint is not displayed, if the ShowHint property is True ) и видим, что не обманули.
Но, у меня стоит 41 билд, и все работает!
Какие у вас билды, и будет ли отображаться хинт при установке свойства формы ShowHint = true?
Добавлено:
Aleksandr_N
Цитата:
использовать маску типа emkRegExprEx...Не подскажете как правильно?
Если я правильно понял Ваши пожелания и исходя из маски "!2-24-0000;1;_", то попробуйте так - '2-24-\d\d\d\d'
Добавлено:
Postscriptum
Цитата:
но изменения цвета не отображаются на гриде. (Ставил ParentFont в false - без разницы). Что не так?
Цвет начертания шрифта (TextColor) не меняется или не меняется заливка (Background) Header'a и Footer'a?
Если первое - то все так, и цвет начертания шрифта должен меняться и у себя проверил - меняется. Если второе, то скорее всего Вы используете скины, а они отрисовуют своими методами Header и Footer. Чтобы при использовании скинов изменить дефолтные цвета нужно выполнить некоторые дополнительные действия. Если это актуально, могу описать подробней.
Добавлено:
Chukotka
Цитата:
Столкнулся со странным поведением DockLibrary
Попробуйте так:
<YourTabContainerDockSite>.ActiveChild := <YourDockPanel>
Должно работать.
Добавлено:
ZBEP
Цитата:
если (скорее всего) не в той теме
Если Ribbon от DevExpress, то в самой той.
Цитата:
как сделать нормально работающию прокрутку (AutoScroll) на форме с Ribbon.
Если приведете пример либо скриншот - будет намного понятнее что Вы хотите сделать.
vladman
Цитата:
Первое!
Цитата:
Нет, скины не использую-при первой же компиляции выскакивало окно с предложением включить скины - отрубил на фиг. Или под скинами что-то другое подразумевается?
Цитата:
Цвет начертания шрифта (TextColor) не меняется или не меняется заливка (Background) Header'a и Footer'a?
Первое!
Цитата:
Если второе, то скорее всего Вы используете скины, а они отрисовуют своими методами Header и Footer. Чтобы при использовании скинов изменить дефолтные цвета нужно выполнить некоторые дополнительные действия. Если это актуально, могу описать подробней.
Нет, скины не использую-при первой же компиляции выскакивало окно с предложением включить скины - отрубил на фиг. Или под скинами что-то другое подразумевается?
Postscriptum
Цитата:
Скины они и есть скины (TdxSkinController).
Цитата:
Тогда тестовое приложение где это не работает на анализ.
Цитата:
Или под скинами что-то другое подразумевается?
Скины они и есть скины (TdxSkinController).
Цитата:
Первое!
Тогда тестовое приложение где это не работает на анализ.
vladman
Цитата:
Блин, в тестовом приложении все работает. SkinControllera нет. Я так подозреваю, с какими-то настройками грида что-то намудрил. Грохнул грид, добавил новый с настройками по умолчанию - все работает. Ща буду разбираться - где я накосячил, чтоб потом опять на эти грабли не наступить.
Цитата:
Тогда тестовое приложение где это не работает на анализ.
Блин, в тестовом приложении все работает. SkinControllera нет. Я так подозреваю, с какими-то настройками грида что-то намудрил. Грохнул грид, добавил новый с настройками по умолчанию - все работает. Ща буду разбираться - где я накосячил, чтоб потом опять на эти грабли не наступить.
можно в TreeList сделать также, как qip\icq отображает дерево контактов? необходимо сворачивание\разворачивание групп
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
Предыдущая тема: Delphi: tcp клиент в потоке
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.