问题标签 [bindinglist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 对 BindingList 进行反向排序
我有一个从绑定到DataGrid的BindingList(T)继承的自定义类。
但是,DataGrid是自上而下填充的,我希望它是自下而上填充的。所以底部项目是索引 0 而不是顶部项目。
如何更改我的BindingList(T)以便DataGrid反向读取它?
c# - 从 BindingList 派生的类的公共字段/属性不会序列化
我正在尝试序列化一个派生自BindingList(Floor)的类,其中Floor是一个仅包含属性Floor.Height的简单类
这是我的课程的简化版本
我将使用以下代码序列化 CustomBindingList 的实例。
然而上面的testString最终被设置为以下 XML:
如何让“publicField”或“publicProperty”也序列化?
c# - 是什么导致了 BindingList 中的 ListChangedType.ItemMoved ListChange 事件?
我有一个在DataGrid中显示的BindingList(T)。我正在监视ListChanged事件并在引发ListChanged事件时执行不同的操作。
我正在检查事件的ListChangeType参数以检查列表是如何更改的,然后做出相应的响应。但是,我注意到有一个ListChanged事件类型ItemMoved。
我有“上移”和“下移”按钮来在列表中上下移动项目。但这些实际上是删除选定的项目,然后将其重新插入到更高或更低的位置。
但是,我没有看到任何BindingList(T)方法看起来会移动列表中的项目。那么我是否遗漏了某些东西,或者只是没有办法在 BindingList 中移动一个也会引发 ItemMoved 类型 ListChanged 事件的项目?
vb.net - 从绑定列表中获取已删除项目的索引
我能够获得添加到 BindingList 的项目的索引。当我尝试获取索引时,如果已删除的项目出现错误
这是我的代码
编辑:也欢迎 C# 中的答案....有人吗?
c# - 我的一些课的成员不会出现在绑定到 BindingList 的 datagridview 上
和一个BindingList aList;
还有一个带有一堆 DataGridTExtBoxColumns 的网格,我尝试将它们绑定到上面的(已经填充的)列表,例如:
但在运行时,只有我的 colDate 和 colTime 列正确填充。所有其他都是空白的。当我专门Grid.Rows[idx].Cells[idx].Value
查看其他列时,它都是空的。
此外,如果我将 AutoGenerateColumns 设置为 true,我会看到一个额外的列 NoteID,它也已正确填写,但 ANote、Amount、ADate、AName 和 Note 字段仍然是空白的!
列表中的数据没有任何问题..所有类成员都有有效值。
除非我遗漏了一些东西,否则这似乎是 BindingList 或 DataGridView 的问题。如果没有,关于如何调试它的任何想法......这是一个非常简单的测试用例!
c# - 在 C# 中使用 DataGridView 和 BindingList 时的线程安全建议
我正在写一个记录事件的类。我的 LogClass 实现为单例,系统中的任何类都可以写入日志条目。这些条目存储在一个列表中,当缓冲区被填满时,它们被转储到磁盘中。
我在执行期间使用 DataGridView 来显示 LogClass 的内容,因此我使用了 BindingList 以便查看器会自动更新。
我想知道我的班级的线程安全性如何。每次我向列表中添加一个新条目时,以及当我遍历列表以将其转储到磁盘时,我都会使用“锁定”。除了 DataGridView 之外,该类基本上是只写的,因为没有从日志中读取的选项,只能将条目添加到日志中。转储在内部执行,这是唯一一次在 BindingList 上有明确的读取命令。
所以我真正关心的是 DataGridView 和 BindingList 发生了什么?每次列表更改时,BindingList 都会引发一个事件。添加新条目时这似乎不是问题,因为添加完成时会引发事件。
我的 Dump() 代码是:
即使我在整个迭代过程中锁定了列表,也会向查看器抛出一个事件,该列表已更改(由于删除),因此被 DataGridView 读取。在更改列表时,我真的不希望对列表进行任何读/写。有任何想法吗?
winforms - 在 Winforms DataGridView 中编辑业务对象
是否可以编辑作为 BindingList 绑定到 Winforms DataGridView 的业务对象的属性(一个属性,一列)?
还是我必须使用 DataSet 或 DataTable?
我无法让单元格进入编辑模式。
devexpress - XtraGrid 无法正确显示新添加的行
我正在使用 DevExpress 2.9.5 的 XtraGrid 来显示一组动态线条的吸墨纸。吸墨纸被集成到另一个应用程序中,这就是它必须基于 UserControl 类并实现几个自定义接口的原因。
由于使用 BindedList 将数据绑定到控件,因此任何更改都应自动反映在表单中。如果我尝试向 fDeals 添加新行,如下所示:
...我可以看到这条线,但它的内容是垃圾。
我尝试在一个小型测试应用程序中做同样的事情。它可以正常工作,唯一的区别是测试应用程序中的吸墨纸是基于 DevExpress.XtraEditors.XtraForm。对我来说,现在看起来原始吸墨纸的形式不会使某些方法过载或错过某些事件。但我无法找出究竟错过了什么。
有人能告诉我我做错了什么或不做什么吗?
谢谢。
c# - AllowUserToAddRows doesn't work with with List<> Datasource on DataGridView
I have a DataGridView
with the DataSource
set to List<myClass>
However, the new row indicator does not display when I set AllowUserToAddRows
to true
,
When I set the DataSource
to BindingList<myClass>
, that seems to solve the problem.
Q: Should replace my List<>
with BindingList<>
or there is better solution?
c# - 如何在将项目添加到 C# 中的集合之前触发事件?
我想在将项目添加到 BindingList 之前进行一些处理。我看到有一个 ListChanged 事件,但这是在添加项目后触发的。仅当调用 AddNew 方法(而不是 Add 方法)时才会触发 AdditionalNew 事件。有没有人做过这样的事情?
更新:
我创建了以下类,当在 IList 上调用 Add 方法时,我的新 Add 方法被触发。那么,我是否有在其他地方读到的选角问题?如果我从集合中删除了 ISpecialCollection 接口,则不会调用我的 Add 方法。有人可以解释为什么它的行为不同吗?如果我使用 ISpecialCollection< 接口,我会遇到转换问题吗?