Я не хочу добавлять поле базы данных в свою фактическую базу данных для использования в целях выбора, поэтому я решил использовать возможность cxGrid добавлять отдельное поле в сетку. Я добавляю поле, называю его (выбираю), меняю его свойство на свойство «флажок», но, похоже, я не могу его использовать, поскольку его нельзя выбрать в сетке. Он ведет себя как только для чтения. Как я могу включить такую вещь? Кроме того, как вы потом манипулируете такой выбранной записью в сетке? (пример: я хочу вставить выбранную запись под другую дату).
Добавить отдельный столбец в cxGrid и использовать для целей выбора (флажок)
comment
Какой набор данных вы используете. Некоторые наборы данных могут использовать временное поле. Это поле не связано с базой данных.
- person Ravaut123   schedule 04.11.2013
comment
Если вы спрашиваете, можете ли вы иметь столбец флажка для чтения/записи, который не привязан к столбцу данных, это, безусловно, раньше (во времена версии 3 Devex's Quantum Grid), и где-то я нашел их документацию о том, как сделать это. К сожалению, мне не удалось найти его только сейчас. ISTR, что речь шла о добавлении (в коде) несвязанного контрольного столбца TdxTreeList в сетку (причина, которую я помню, заключалась в том, что я был удивлен, что QG разрешил несвязанный столбец в сетке с привязкой к данным), а затем обработка события OnMouseUp для переключения состояние флажка. Было это лет 10 назад, правда...
- person MartynA   schedule 04.11.2013
comment
Кстати, я также заметил, что смысл использования несвязанного столбца заключался в том, что он позволял состоянию флажка быть независимым от данных в наборе данных. Думаю, похоже на то, что упоминал @Ravault123, но реализовано по-другому.
- person MartynA   schedule 04.11.2013
comment
используя sqlite с Unidac.
- person user763539   schedule 04.11.2013
comment
Добавьте новое поле как fkInternalCalc в набор данных unidac (TFDTable). Также установите для Tcxgrid.TcxGridDBTableView.DataController.DataModeController.GridMode значение True.
- person Ravaut123   schedule 04.11.2013
Ответы (2)
Несколько вещей, которые вам нужно сделать. 1. Задайте свойство ValueType нового поля. 2. Задайте свойство DataController.KeyFieldName.
См. https://www.devexpress.com/Support/Center/Question/Details/A1095 для получения пошаговых инструкций от DevExpress.
person
Sam M
schedule
04.11.2013
Нажмите checkbox column
->databinding
->valuetype
,
Измените valuetype
на boolean
Надеюсь, поможет.
person
Hope
schedule
25.07.2018
Измените тип значения на логический
- person Hope; 25.07.2018
Добавьте этот комментарий к ответу, потому что ожидается, что ответ на один вкладыш скоро будет удален, а также объясните, как он будет полезен другим будущим читателям.
- person Parth Pandya; 25.07.2018