cxLookupCombobox.Properties.ListSource.DataSet.FieldByName('ID').asInteger;
» Использование DevExpress (часть 3)
TcxCustomInplaceEditContainer.Properties - где бы почитать повнимательнее.. ???
И вообще ТриЛист настолько паскудно документирован, что завал, половина класов не доступна в дизайн-тайм, а если и доступна, то закопана в такой тохес, что откопать нереально.. Описание половины классов и свойств отсутствует.. Так и не разобрался с гроупин нодес.. Может с выходом три-лист 5 финал и доку поправят.. очень хотелось бы..
Можно както сделать следующее:
делаю вставку в TableView новой строки (посредством нажатия insert на клавиатуре или кнопки "+" в навигаторе), в обработчике в эту новую строку сразу же добавляется какоето значение (типа так: ->Values[0]="666";), строка появилась, "666" в колонке 0 этой строки нарисовалось, далее если в этой же строчке чего нибудь набрать с клавиатуры то все ок, а вот есле сразу после вставки перейти на другую запись, ничего туда не вписывая - она естествеено пропадает - это можно как-то выключить?
делаю вставку в TableView новой строки (посредством нажатия insert на клавиатуре или кнопки "+" в навигаторе), в обработчике в эту новую строку сразу же добавляется какоето значение (типа так: ->Values[0]="666";), строка появилась, "666" в колонке 0 этой строки нарисовалось, далее если в этой же строчке чего нибудь набрать с клавиатуры то все ок, а вот есле сразу после вставки перейти на другую запись, ничего туда не вписывая - она естествеено пропадает - это можно как-то выключить?
Не знаю. Может поискать в свойствах датаконтроллера или самого поля что-то вроде ImmediatePost?
Добавлено:
Тут вот до меня дошло, что девки с юникодом облажались при работе с базами данных. Короче если в датасете поле типа TWideStringField, то юникодные поля отображаются нормально. А если TStringField, то девки думают, что это вовсе и не юникод и отображают кракозябры. Это я про работу девок в D2009.
Добавлено:
Тут вот до меня дошло, что девки с юникодом облажались при работе с базами данных. Короче если в датасете поле типа TWideStringField, то юникодные поля отображаются нормально. А если TStringField, то девки думают, что это вовсе и не юникод и отображают кракозябры. Это я про работу девок в D2009.
Kim006
Цитата:
Пропадает вся строка или только ее содержимое?
Цитата:
а вот есле сразу после вставки перейти на другую запись, ничего туда не вписывая - она естествеено пропадае
Пропадает вся строка или только ее содержимое?
Цитата:
Пропадает вся строка или только ее содержимое?
Вся строка. т.е. TableView думает что она пустая (хотя это не так) и убирает ее...
Kim006
А Post пробовал делать?
А Post пробовал делать?
Kim006
Попробуй такой вариант:
uses cxDataUtils;
в OnNewRecord
ADataController.SetEditValue(cxGrid1TableView1Column1.Index, 'New Value', evsValue);
Попробуй такой вариант:
uses cxDataUtils;
в OnNewRecord
ADataController.SetEditValue(cxGrid1TableView1Column1.Index, 'New Value', evsValue);
С Post пробовал - строка мельком появляется и исчезает...
а вот ADataController.SetEditValue(cxGrid1TableView1Column1.Index, 'New Value', evsValue); то что доктор прописал все работает. только почемуто NULL записывается как 0 но это неважно.
а вот ADataController.SetEditValue(cxGrid1TableView1Column1.Index, 'New Value', evsValue); то что доктор прописал все работает. только почемуто NULL записывается как 0 но это неважно.
Цитата:
Короче если в датасете поле типа TWideStringField, то юникодные поля отображаются нормально. А если TStringField, то девки думают, что это вовсе и не юникод и отображают кракозябры.
Все как в Д2009. Так что по поводу облажались вынужден несогласиться. Наоборот, так даже понятнее.
Цитата:
Все как в Д2009.
Так это я про Д2009 и говорю.
Цитата:
Так что по поводу облажались вынужден несогласиться.
1. TStringField - в D2009 это юникод, а девки об этом не знают.
2. Другие гриды с TStringField работают правильно.
Цитата:
TStringField - в D2009 это юникод, а девки об этом не знают.
Врядли: https://forums.codegear.com/thread.jspa?threadID=12192&tstart=-1
Там же, кстати, и решение - конвертить.
Доброго времени суток!
Товарищи, может кто-нить встречался с проблемой. CG2007 (Delphi), девки v.42, XP Sp3. Долго не мог понять, что происходит, но вот, наконец, вошёл в согласие с самим собой и в противоречие с системой. Использую TcxButton. На работе в Glyph указанного объекта загружаю .png и прокатывает, а дома -- пишет ошибка формата... Может кто-нить подскажет в чём трабла? Может студия подглючивает (сначала я думал, что у меня моск подглючивает, потому как точно был уверен, что грузил .png в указанное свойство, а дома не сросталось, делал вывод, что что-то попутал, а вот сегодня проверил и пребываю в некоторм замешательстве -- не попутал, на работе грузит, а дома нет )?
Заранее благодарен за помощь. (Так нехоцца всё переставлять, что просто жуть, тем более времени на это нет просто никакого )
Товарищи, может кто-нить встречался с проблемой. CG2007 (Delphi), девки v.42, XP Sp3. Долго не мог понять, что происходит, но вот, наконец, вошёл в согласие с самим собой и в противоречие с системой. Использую TcxButton. На работе в Glyph указанного объекта загружаю .png и прокатывает, а дома -- пишет ошибка формата... Может кто-нить подскажет в чём трабла? Может студия подглючивает (сначала я думал, что у меня моск подглючивает, потому как точно был уверен, что грузил .png в указанное свойство, а дома не сросталось, делал вывод, что что-то попутал, а вот сегодня проверил и пребываю в некоторм замешательстве -- не попутал, на работе грузит, а дома нет )?
Заранее благодарен за помощь. (Так нехоцца всё переставлять, что просто жуть, тем более времени на это нет просто никакого )
Возникла такая проблема.
Использую TdxBarCombo. Мне необходимо событие OnClick. Но на нем оно просто не вызывается, в TdxBarManager, событие OnClickItem тоже не вызывается (вызывается только на кнопках).
OnChange мне не подходит, потому что вызывается оно не только по клику юзера, но и при программном изменении выделенного элемента. Что делать?
Использую TdxBarCombo. Мне необходимо событие OnClick. Но на нем оно просто не вызывается, в TdxBarManager, событие OnClickItem тоже не вызывается (вызывается только на кнопках).
OnChange мне не подходит, потому что вызывается оно не только по клику юзера, но и при программном изменении выделенного элемента. Что делать?
TechnoDreamer
Действительно не работает и кажется так и будет.
http://www.devexpress.com/issue=AB9588
Они рекомендуют использовать onChange и при программном изменении сбрасывать, на время, обработчик.
Действительно не работает и кажется так и будет.
http://www.devexpress.com/issue=AB9588
Они рекомендуют использовать onChange и при программном изменении сбрасывать, на время, обработчик.
ZalivkoDenis
Это уже недавно обсуждалось здесь - поищи. По-моему дело либо в разном наборе установленных компонент, либо в разно порядке из загрузки - от этого зависит кто первым регистрирует png как графический формат.
Это уже недавно обсуждалось здесь - поищи. По-моему дело либо в разном наборе установленных компонент, либо в разно порядке из загрузки - от этого зависит кто первым регистрирует png как графический формат.
X11:
поменял с TStringField на TWideStringField.
выдает ошибку:
---------------------------
Error
---------------------------
DataSet: Type mismatch for field 'XXX', expecting: WideString actual: String.
---------------------------
OK Details >>
---------------------------
где и что нужно ещё прикрутить?
поменял с TStringField на TWideStringField.
выдает ошибку:
---------------------------
Error
---------------------------
DataSet: Type mismatch for field 'XXX', expecting: WideString actual: String.
---------------------------
OK Details >>
---------------------------
где и что нужно ещё прикрутить?
dc, конкретнее, что где как поменял, что за компоненты, какой charset подключения, в какой кодировке база?
D2009, FIBPlus 6.9.6 Release for 2009, Devexpress .42
Charset базы и коннекта UTF8.
По умолчанию тип поля в датасете был TFIBStringField.
Пробывал менять на TFIBWideStringField и TWideStringField - выдаёт ошибку.
DataSet: Type mismatch for field 'XXX', expecting: WideString actual: String.
Charset базы и коннекта UTF8.
По умолчанию тип поля в датасете был TFIBStringField.
Пробывал менять на TFIBWideStringField и TWideStringField - выдаёт ошибку.
DataSet: Type mismatch for field 'XXX', expecting: WideString actual: String.
Цитата:
Пробывал менять на TFIBWideStringField и TWideStringField - выдаёт ошибку.
А как менял? Ты в курсе про {$DEFINE UNICODE_TO_STRING_FIELDS}
Помогите решить проблему. Думаю просто DevExpress, это не поддерживают.
Вообщем если использовать Ribbon BarManager (интерфейс в стиле Office 2007), то ко всем элементам TdxBar можно устанавливать свойство ScreenTip: TdxBarScreenTip, и по наведению мыши на элемент мы видим красивый HINT, с названием, описанием и даже картинку можем вставить.
Хотелось бы такие же hints применять к другим элементам, например cxButtons, cxEdit, cxGroupBox, cxTextEdit, cxLabel... Либо даже к стандартным компонентам, заменить стандартный скромный хинт, на Ribbon-хинт. Было бы очень полезно и наглядно.
Пробовал добавить свойства, но там все наследуется от баров и ничего толкового не получилось сделать Скорей всего руки не оттуда растут... Подскажи пожалуйста можно ли решить мою задачу вообще и каким образом?
Вообщем если использовать Ribbon BarManager (интерфейс в стиле Office 2007), то ко всем элементам TdxBar можно устанавливать свойство ScreenTip: TdxBarScreenTip, и по наведению мыши на элемент мы видим красивый HINT, с названием, описанием и даже картинку можем вставить.
Хотелось бы такие же hints применять к другим элементам, например cxButtons, cxEdit, cxGroupBox, cxTextEdit, cxLabel... Либо даже к стандартным компонентам, заменить стандартный скромный хинт, на Ribbon-хинт. Было бы очень полезно и наглядно.
Пробовал добавить свойства, но там все наследуется от баров и ничего толкового не получилось сделать Скорей всего руки не оттуда растут... Подскажи пожалуйста можно ли решить мою задачу вообще и каким образом?
X11, спасибо!
{$DEFINE UNICODE_TO_STRING_FIELDS} - это было!
{$DEFINE UNICODE_TO_STRING_FIELDS} - это было!
Столкнулся с проблемой - как заставить работать следующее:
AView->Controller->EditingController->Edit->EditingValue.IsNull()
(всегда возвращает false)
т.е. нужно проверить данные были добавлены или стерты из ячейки (любого типа).
AView->Controller->EditingController->Edit->EditingValue.IsNull()
(всегда возвращает false)
т.е. нужно проверить данные были добавлены или стерты из ячейки (любого типа).
omihaz
TcxHintStyleController
TcxHintStyleController
Kim006
Если не ошибаюсь, то при стирании строкового поля Value принимает значение пустой строки, если не делать Clear(), тогда будет null. С числовыми надо смотреть.
Если не ошибаюсь, то при стирании строкового поля Value принимает значение пустой строки, если не делать Clear(), тогда будет null. С числовыми надо смотреть.
jicoff
Цитата:
Вопрос в том - как это проверить. if(AView->Controller->EditingController->Edit->EditingValue != NULL){...} не прокатит, да и не корректно это.
Clear() и.т.п. не вызываются, ячейки таблицы редактируются с клавиатуры.
Цитата:
Если не ошибаюсь, то при стирании строкового поля Value принимает значение пустой строки, если не делать Clear(), тогда будет null. С числовыми надо смотреть.
Вопрос в том - как это проверить. if(AView->Controller->EditingController->Edit->EditingValue != NULL){...} не прокатит, да и не корректно это.
Clear() и.т.п. не вызываются, ячейки таблицы редактируются с клавиатуры.
Господа!
Помогите советом.
Есть датасет. К нему привязан cxGrid, обычное табличное отображение. В Датасете есть несколько LookUp полей. Соответственно, при нажатии на на соответствующий им Cell в Гриде должен открываться выпадающий список. Но хитрость вся в том, что мне необходимо прилепить к этому списку сверху кнопку "добавить новое значение".
Примерно так:
В голову приходит только для соответствующего поля в GridView сделать Property PopupEdit. И в качестве PopupControl указать еще один Грид, заголовок единственного поля которого и будет выполнять роль этой кнопки. Вроде бы так и сделал. Но вылетает Access Violation при попытке закрыть этот список. При чем только при выборе определенных записей в списке. Ни какими обработчиками в DataSet это вроде бы не связано.
Может нечто подобное можно как-то проще смастерить?
Помогите советом.
Есть датасет. К нему привязан cxGrid, обычное табличное отображение. В Датасете есть несколько LookUp полей. Соответственно, при нажатии на на соответствующий им Cell в Гриде должен открываться выпадающий список. Но хитрость вся в том, что мне необходимо прилепить к этому списку сверху кнопку "добавить новое значение".
Примерно так:
В голову приходит только для соответствующего поля в GridView сделать Property PopupEdit. И в качестве PopupControl указать еще один Грид, заголовок единственного поля которого и будет выполнять роль этой кнопки. Вроде бы так и сделал. Но вылетает Access Violation при попытке закрыть этот список. При чем только при выборе определенных записей в списке. Ни какими обработчиками в DataSet это вроде бы не связано.
Может нечто подобное можно как-то проще смастерить?
alexbozhko
А интересно куда ты будеш добавлять новое значение, если у тебя LookUp поле
Ты проясни мысль, что надо, а не как ты хочеш.
А интересно куда ты будеш добавлять новое значение, если у тебя LookUp поле
Ты проясни мысль, что надо, а не как ты хочеш.
alexbozhko
А почему нельзя в лукапе просто добавить значение "Добавить элемент", а при его выборе сделать обработчик для создания нового элемента.
А почему нельзя в лукапе просто добавить значение "Добавить элемент", а при его выборе сделать обработчик для создания нового элемента.
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
Предыдущая тема: Delphi: tcp клиент в потоке
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.