winforms - 未从 gridivew.DataSource 为 DataView 设置对象引用作为 DataView
问题描述
我有方法验证编辑器来验证重复
private void GridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
{
GridView view = sender as GridView;
DataView currentDataView = view.DataSource as DataView;
if (view.FocusedColumn.FieldName == "Sequence")
{
//check duplicate code
string currentCode = e.Value.ToString();
for (int i = 0; i < currentDataView.Count; i++)
{
if (i != view.GetDataSourceRowIndex(view.FocusedRowHandle))
{
if (currentDataView[i]["Sequence"].ToString() == currentCode)
{
e.ErrorText = "Duplicate Code detected.";
e.Valid = false;
break;
}
}
}
}
}
但它说对象引用未设置问题出在DataView currentDataView = view.DataSource as DataView;
但我不明白为什么。
解决方案
我正在使用 ado 实体数据集填充我的网格控件。所以打电话后adapter.Fill(dataset)
。我也得写gridcontrol.DataSource=dataset;
推荐阅读
- node.js - 需要使用 nodejs 客户端更新没有 id 字段的弹性搜索文档
- angular - Angular 库未构建到 es5 目标
- json - 根据 ASP.NET Core 5 中的 dropdownlList 选择值从同一表中获取数据库的值
- android - 在注册时跳过 android 设备的加密(android 管理 api)
- python - 时间序列数据的 Django 快速访问
- excel - 如何添加代码以自动删除额外的工作表?
- javascript - 为什么API调用两次?
- ios - 翠鸟如何检查是否需要刷新图像?
- r - seq.int(0, to0 - from, by) 中的错误:'to' 必须是 R 中的有限数时间序列
- reactjs - 为什么通过上下文更新单个状态时组件会完全重新渲染?