c# BindingList<T>用Eazfuscator.NET混淆后,无法使用的问题

        在DataGridView更新数据时用到了BindingList<T>。在不用Eazfuscator.NET混淆的时候使用正常。但是混淆了以后在列表中无法显示数据。通过在DataGridView所在的类中,把BindingList<T>设置成public以后,再加上

using System.Reflection; [assembly: ObfuscateAssemblyAttribute(false)]

以后,再进行混淆就没问题了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 DataGridView 中使用 BindingList<> 修改数据,可以按照以下步骤操作: 1. 创建一个 BindingList<> 对象,并将其设置为 DataGridView 的数据源。 ``` BindingList<MyData> dataList = new BindingList<MyData>(); dataGridView.DataSource = dataList; ``` 2. 在 BindingList<> 中添加数据。 ``` dataList.Add(new MyData { Name = "John", Age = 25 }); dataList.Add(new MyData { Name = "Jane", Age = 30 }); ``` 3. 在 DataGridView 中编辑数据。 当用户双击单元格时,DataGridView 进入编辑模式。用户可以在编辑模式下修改单元格的值。如果你需要在用户完成编辑后更新 BindingList<> 中的数据,可以处理 DataGridView 的 `CellEndEdit` 事件,将修改后的值保存回 BindingList<>。 ``` private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) { MyData data = dataList[e.RowIndex]; DataGridViewCell cell = dataGridView[e.ColumnIndex, e.RowIndex]; string propertyName = dataGridView.Columns[e.ColumnIndex].DataPropertyName; object value = cell.Value; PropertyInfo property = typeof(MyData).GetProperty(propertyName); property.SetValue(data, Convert.ChangeType(value, property.PropertyType)); } ``` 这段代码会获取修改后的单元格值,并将其设置回 BindingList<> 中的对应对象。 4. 在 DataGridView 中删除数据。 用户可以通过选中一行并按下 Delete 键来删除行。如果你需要在用户删除行后更新 BindingList<> 中的数据,可以处理 DataGridView 的 `UserDeletingRow` 事件,将要删除的数据从 BindingList<> 中删除。 ``` private void dataGridView_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { MyData data = (MyData)e.Row.DataBoundItem; dataList.Remove(data); } ``` 这段代码会获取要删除的对象,并将其从 BindingList<> 中删除。 这样,你就可以使用 BindingList<> 在 DataGridView 中修改数据了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值