【问题标题】:about repositoryItemCheckEdit关于 repositoryItemCheck编辑
【发布时间】:2011-06-18 09:07:03
【问题描述】:

我在xtragrid control's column 中添加了repositoryItemCheckEdit。我的 xtragridview 共有 3 列。当我设置gridcontrol的数据源属性时,将在我的表中的字段的帮助下从其中填充两列。

我面临的问题是,当我将复选框的状态从 xtragrid 更改为检查一次时,它可以工作,但是当我从下一行检查时,之前从 gridview 中选择的复选框丢失了。它只维持一排。我希望它两个保留多行。

如何做到这一点?

我的数据表包含两个字段,分别是 TemplateTitle 和 TemplateBody。我的 xtragrid 包含三列作为数据表中的两列和附加列作为未绑定列的 repositoryItemCheckEdit。我在设计时创建了 gridview 列。我已经将 gridcontrol 的 datasource 属性设置为 datatable。

谢谢。

【问题讨论】:

  • 提供更多信息。你的数据源结构是什么?你能提供一段代码来重现这个吗?
  • 我认为这与焦点移开时焦点行的更新/验证有关,或者与您绑定数据的方式相结合,如果我们知道如何使用,XtraGrid 和 repositoryEditors 工作得很好他们。
  • @Davide Piras:我现在该怎么办?

标签: c# winforms devexpress xtragrid


【解决方案1】:

如果 repositoryItemCheckEdit 未绑定,您必须使用网格的 CustomUnboundColumnData 事件手动控制 CheckEdit 的选中状态,否则当您移动到不同的行时状态会丢失。

您必须在 DevExpress 支持中心搜索此类问题。这些都有很好的记录,可以在那里轻松找到。

http://www.devexpress.com/Support/Center/p/B135631.aspx
http://www.devexpress.com/Support/Center/p/Q254784.aspx

【讨论】:

  • DevExpress 支持中心的建议只是错误的解决方法。使用错误的集合类型进行绑定会出现问题。只需使用 WinForms BindingList 代替(而不是 WPF-Collections 不合适)将从根本上解决问题,而不仅仅是一个糟糕的解决方法。
  • 该列未绑定,因此即使使用BindingList也不会更新。
  • 其他列上的错误绑定将阻止未绑定的列,甚至无法手动更新 - 有了这个,解决了!所以谢谢你投票给我......因为像你这样的人投票反对正确答案,所以对 SO 提供的答案会越来越少。
【解决方案2】:

使用 BindingList 而不是 DataTable 或 ObservableCollection 解决了布尔值绑定到 (DevExpress) GridView/GridControl (Windows Forms) 中复选框的问题。

【讨论】:

  • 列未绑定。
  • 栏目已绑定!引用:“我已经将 gridcontrol 的数据源属性设置为数据表” - 所以 DataSource 实际上绑定到 DataTable 而不是未绑定。单列不能解绑,不使用BindingList也不会发生回调。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-23
  • 1970-01-01
  • 2022-11-08
  • 1970-01-01
  • 2012-03-14
  • 2011-02-19
相关资源
最近更新 更多