Коллеги, подскажите, как наиболее красиво с точки зрения интерфейса решить задачу добавления новых значений в словари, которые подключаются к основному cxGrid'у в качестве списков LookupComboBox'ов? Т.е. юзер хочет максимально прозрачно и быстро добавлять новые значения в выпадающие списки, нажимая кнопку, например, на имени столбца в заголовке основного грида. Возможно ли такое? А как вы делаете?
» Использование DevExpress (часть 4)
DIvan
В OnNewLookupDisplayText добавляю новое значение да и всё. Опционально спрашиваю об этом юзера.
В OnNewLookupDisplayText добавляю новое значение да и всё. Опционально спрашиваю об этом юзера.
vladman
пасиб.
И ещо вопросик - в гриде , для одного столбца установил пропертис SpinEdit -
как в рентайме поставить свойство MaxValue, причем для каждой строки будет свое
MaxValue????
пасиб.
И ещо вопросик - в гриде , для одного столбца установил пропертис SpinEdit -
как в рентайме поставить свойство MaxValue, причем для каждой строки будет свое
MaxValue????
TechnoDreamer, отличная мысль, спасибо большое!
А про TdxDockPanel никто не знает что за херь ?? Я просто Сменил ОС на Win7 и версию Девок одновременно .
JohnSilver182
Цитата:
И что?
Цитата:
А про TdxDockPanel никто не знает что за херь ?? Я просто Сменил ОС на Win7 и версию Девок одновременно .
И что?
vladman
А у меня прикол с TdxDockPanel (DevExpress v47). Когда выводиться окно
Код: dxDockPanelWeb.Visible:=true;
dxDockPanelWeb.SetFocus;
А у меня прикол с TdxDockPanel (DevExpress v47). Когда выводиться окно
Код: dxDockPanelWeb.Visible:=true;
dxDockPanelWeb.SetFocus;
MagistrAnatol
Цитата:
Теперь смотрите в сторону обработчика TcxCustomGridTableItem.OnGetProperties
Справка - ms-help://borland.bds5/ExpressQuantumGrid6.BDS5/ExpressQuantumGrid6/IDH_TcxCustomGridTableItem_OnGetProperties.htm там и примеры есть, для вашего случая обратите внимание на первый.
Добавлено:
JohnSilver182
Цитата:
Только что проверил (v49), все в порядке. Попробуйте вместо +-1 вызвать dxDockPanelWeb.Invalidate.
Цитата:
как в рентайме поставить свойство MaxValue, причем для каждой строки будет свое
MaxValue????
Теперь смотрите в сторону обработчика TcxCustomGridTableItem.OnGetProperties
Справка - ms-help://borland.bds5/ExpressQuantumGrid6.BDS5/ExpressQuantumGrid6/IDH_TcxCustomGridTableItem_OnGetProperties.htm там и примеры есть, для вашего случая обратите внимание на первый.
Добавлено:
JohnSilver182
Цитата:
А у меня прикол с TdxDockPanel (DevExpress v47). Когда выводиться окно
Только что проверил (v49), все в порядке. Попробуйте вместо +-1 вызвать dxDockPanelWeb.Invalidate.
В базе данных будут храниться файлы. Это будет и не картинка, и не какой-либо текст или известный объект, а будет произвольный файл с произвольным расширением.
Подскажите пожалуйста есть ли в cxGrid что-либо для работы с такими блоб полями, что упростило бы туда загрузку-выгрузку с popup-интерфейсом? Или вообще что-то полезное на эту тему.
В идеале если поле пока пустое, то предлагало бы загрузить-файл, а при наличии файла - писало бы его название, сохраненное в другом поле и предлагало сохранить blob на диск.
Понятно, что можно ручками написать, но возможно все уже есть и не понадобиться строить велосипед. Так как задача в общем-то популярная.
Подскажите пожалуйста есть ли в cxGrid что-либо для работы с такими блоб полями, что упростило бы туда загрузку-выгрузку с popup-интерфейсом? Или вообще что-то полезное на эту тему.
В идеале если поле пока пустое, то предлагало бы загрузить-файл, а при наличии файла - писало бы его название, сохраненное в другом поле и предлагало сохранить blob на диск.
Понятно, что можно ручками написать, но возможно все уже есть и не понадобиться строить велосипед. Так как задача в общем-то популярная.
RomanDaemon
Только ручками. Название файла у вас должно показываться в другом поле, а Blob поле вообще отсутвовать в гриде. Для поля с названием файла рекомедую использовать ButtonEdit в двух экземплярах хранимых TcxEditRepository, одни экземпляр с одной кнопкой "загрузить" для пустого поля, второй с кнопками "сохранить", "очистить" и т.д. для не пустого поля. Менять их на событие OnGetProperties у колонки с именем файла. Если что не понятно, пишите помгу примером или советом.
Только ручками. Название файла у вас должно показываться в другом поле, а Blob поле вообще отсутвовать в гриде. Для поля с названием файла рекомедую использовать ButtonEdit в двух экземплярах хранимых TcxEditRepository, одни экземпляр с одной кнопкой "загрузить" для пустого поля, второй с кнопками "сохранить", "очистить" и т.д. для не пустого поля. Менять их на событие OnGetProperties у колонки с именем файла. Если что не понятно, пишите помгу примером или советом.
Загрузку уже сделал =) Но пока без заморочек на разные кнопки.
linker_2009
Спасибо, хорошая идея с разными типами кнопок - завтра сделаю.
Для выбора файла стоит использовать cxShellBrowserDialog? У меня пока по быстрому он... или лучше другой?
linker_2009
Спасибо, хорошая идея с разными типами кнопок - завтра сделаю.
Для выбора файла стоит использовать cxShellBrowserDialog? У меня пока по быстрому он... или лучше другой?
DBTreeList в режиме инкрементного поиска. Как программно сбросить этот поиск?
Т.е. юзер ввел несколько символов, его перекинуло на соответствующую ноду, потом я вызываю "метод х" и юзер вводит символы сначала (а не затерает клавишей backspace как у меня сейчас ). Вот этот "метод х" мне и нужен.
Т.е. юзер ввел несколько символов, его перекинуло на соответствующую ноду, потом я вызываю "метод х" и юзер вводит символы сначала (а не затерает клавишей backspace как у меня сейчас ). Вот этот "метод х" мне и нужен.
RomanDaemon
Цитата:
Почему бы и нет, главное что бы было удобно)
Добавлено:
TechnoDreamer
А так пробовали?
<YouTcxDBTreeList>.DataController.Search.SearchText:='';
В <YouTcxDBTreeList>.DataController.Search много чего интересного
Цитата:
Для выбора файла стоит использовать cxShellBrowserDialog?
Почему бы и нет, главное что бы было удобно)
Добавлено:
TechnoDreamer
А так пробовали?
<YouTcxDBTreeList>.DataController.Search.SearchText:='';
В <YouTcxDBTreeList>.DataController.Search много чего интересного
всем привет! подскажите плиз как можно сделать такой выбор из риббон панели:
на сайте девок качнул видео там ничего нету именно про риббон и выпадающие трилисты.
как я понимаю - это TcxTreeList, привязанный каким-то образом TdxBarContainerItem?
хотя бы в общих чертах куда копать. очень благодарен!
на сайте девок качнул видео там ничего нету именно про риббон и выпадающие трилисты.
как я понимаю - это TcxTreeList, привязанный каким-то образом TdxBarContainerItem?
хотя бы в общих чертах куда копать. очень благодарен!
sobolenok
1.на рибон добавляете dxBarSubItem
2.вставляете dxBarControlContainerItem, настраиваете.
3. вставляете обычный dxBarButton
Усе.
Добавлено:
по п.2 у dxBarControlContainerItem.Control выбераете ваш cxTreeList.cxTreeList кинте на форму которую вы никогда не покажете, ибо при запуске cxTreeList пропадет с формы.
Добавлено:
TechnoDreamer
Извиняюсь, ввел в заблуждение. Попробуйте
<YouTcxDBTreeList>.DataController.Search.Locate(<YouColumnName>.index,'');
1.на рибон добавляете dxBarSubItem
2.вставляете dxBarControlContainerItem, настраиваете.
3. вставляете обычный dxBarButton
Усе.
Добавлено:
по п.2 у dxBarControlContainerItem.Control выбераете ваш cxTreeList.cxTreeList кинте на форму которую вы никогда не покажете, ибо при запуске cxTreeList пропадет с формы.
Добавлено:
TechnoDreamer
Извиняюсь, ввел в заблуждение. Попробуйте
<YouTcxDBTreeList>.DataController.Search.Locate(<YouColumnName>.index,'');
Цитата:
олько что проверил (v49), все в порядке. Попробуйте вместо +-1 вызвать dxDockPanelWeb.Invalidate.
Неработает
linker_2009
спасибо большое, все получилось!
спасибо большое, все получилось!
JohnSilver182
Цитата:
Набросайте простой пример который показывает как неработает.
Цитата:
Неработает
Набросайте простой пример который показывает как неработает.
Подскажите: есть TdxBarManager у него соотвественно TdxBar как сделать чтобы пользователь не мог перемещать(грубо говоря привязать его допустим к TOP) TdxBar (какое свойство ни как немогу найти)
Цитата:
Подскажите: есть TdxBarManager у него соотвественно TdxBar как сделать чтобы пользователь не мог перемещать(грубо говоря привязать его допустим к TOP) TdxBar (какое свойство ни как немогу найти)
Обратите внимание на свойство NotDocking у TdxBar
SIgor33
Цитата:
Ещё можно обработать событие dxBarManager.OnDocking
Цитата:
Подскажите: есть TdxBarManager у него соотвественно TdxBar как сделать чтобы пользователь не мог перемещать(грубо говоря привязать его допустим к TOP) TdxBar (какое свойство ни как немогу найти)
Ещё можно обработать событие dxBarManager.OnDocking
dimm78
marser
свойство NotDocking то что надо, благодарю
marser
свойство NotDocking то что надо, благодарю
Здравствуйте,
подскажите, правильна ли такая общая реализация удаления выделенных строк (cxGrid) для всех форм проекта:
Код:
procedure TMainEditForm.Delete(Form : TForm);
var dsInd : integer;
i : integer;
begin
for dsInd := 0 to Form.ComponentCount - 1 do
if (Form.Components[dsInd] is TcxGrid) then
with (Form.Components[dsInd] as TcxGrid) do
if CanFocusEx then
for i := 0 to ViewCount - 1 do
if (Views[i] is TcxGridDBTableView) then
with TcxGridDBTableView(Views[i]) do
if Focused then
TcxGridDBTableView(TcxGridDBTableView(Views[i])).DataController.DeleteSelection;
end;
подскажите, правильна ли такая общая реализация удаления выделенных строк (cxGrid) для всех форм проекта:
Код:
procedure TMainEditForm.Delete(Form : TForm);
var dsInd : integer;
i : integer;
begin
for dsInd := 0 to Form.ComponentCount - 1 do
if (Form.Components[dsInd] is TcxGrid) then
with (Form.Components[dsInd] as TcxGrid) do
if CanFocusEx then
for i := 0 to ViewCount - 1 do
if (Views[i] is TcxGridDBTableView) then
with TcxGridDBTableView(Views[i]) do
if Focused then
TcxGridDBTableView(TcxGridDBTableView(Views[i])).DataController.DeleteSelection;
end;
Есть проблема со скинами.
А конкретнее с частотой обновления в Win 7.
Версия 53.
В XP рефрешилось намного быстрее, как можно полечить?
Добавлено:
fortezza
Во первых лучше искать по cxGridTableView etc...
Во вторых вюшка может быть завязана на датасет, тут прийдеться фильтровать по типу вьюшки, следует также учесть что вьюшки могут быть не в гриде а в GridViewRepository.
Также дата сет может быть не редактируеммый, соответственно попытка удалить вызовет ошибку.
А конкретнее с частотой обновления в Win 7.
Версия 53.
В XP рефрешилось намного быстрее, как можно полечить?
Добавлено:
fortezza
Во первых лучше искать по cxGridTableView etc...
Во вторых вюшка может быть завязана на датасет, тут прийдеться фильтровать по типу вьюшки, следует также учесть что вьюшки могут быть не в гриде а в GridViewRepository.
Также дата сет может быть не редактируеммый, соответственно попытка удалить вызовет ошибку.
fortezza
лишний один цикл, сразу проверяйте на TcxGridDBTableView ( ...if (Form.Components[dsInd] is TcxGridDBTableView) then ...).
И такой вопрос, я так понимаю эта процедура будет вызыватся на кнопку "удалить", а фокус на виве останется?
лишний один цикл, сразу проверяйте на TcxGridDBTableView ( ...if (Form.Components[dsInd] is TcxGridDBTableView) then ...).
И такой вопрос, я так понимаю эта процедура будет вызыватся на кнопку "удалить", а фокус на виве останется?
Пробую работать с dxRibbon...
Хочу реализовать поиск по нажатию клавиши Enter в dxBarEdit, куда они это засунули? Здесь как-то все по другому чем в обычном Edit... Обрабатываю событие OnKeyDown на клавишу Enter, но при нажатии Enter она гасится где-то что-ли и перепрыгивает фокус сразу на грид, замучился бодаться с этой ерундой.
Кто знает подскажите что делать?
Хочу реализовать поиск по нажатию клавиши Enter в dxBarEdit, куда они это засунули? Здесь как-то все по другому чем в обычном Edit... Обрабатываю событие OnKeyDown на клавишу Enter, но при нажатии Enter она гасится где-то что-ли и перепрыгивает фокус сразу на грид, замучился бодаться с этой ерундой.
Кто знает подскажите что делать?
Prot_XT
ПКМ по рибону->Add cxEditItem->TextEdit
На событие OnChange
str:=Vartostr(<YouTcxBarEditItem>.EditValue);
ПКМ по рибону->Add cxEditItem->TextEdit
На событие OnChange
str:=Vartostr(<YouTcxBarEditItem>.EditValue);
Нет, мне не нужно OnChange, мне необходимо событие по нажатию Enter, а после этого фокус слетает сразу же на Grid.
А, сори, не понял).Тогда если только воспользоваться TdxBarControlContainerItem и подсунуть ему обычный едит. Но в 49 девках не могу у него настройть отображение Caption'а.
У меня вообще версия 38..., что-то подобное видел на английском в поддержке, но из за своего плохого английского так и не понял что они советуют. Вот ссылка:
http://devexpress.com/Support/Center/p/Q33928.aspx , последний пост
Что-то типа ExpressBars Editor перекрывает нажатие Enter... короч мож кто толково разжует, что они рекомендуют?
Добавлено:
Да, TdxBarControlContainerItem с обычным едитом работает как надо, но вроде как бы это не выход. Во первых смотрится он на риббоне как "не родной", плюс опять же спортивный интерес заставить dxBarEdit или cxEditItem работать с Enter.
http://devexpress.com/Support/Center/p/Q33928.aspx , последний пост
Что-то типа ExpressBars Editor перекрывает нажатие Enter... короч мож кто толково разжует, что они рекомендуют?
Добавлено:
Да, TdxBarControlContainerItem с обычным едитом работает как надо, но вроде как бы это не выход. Во первых смотрится он на риббоне как "не родной", плюс опять же спортивный интерес заставить dxBarEdit или cxEditItem работать с Enter.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
Предыдущая тема: Помогите пожалуйста с блокировкой клавиатуры и мышки
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.