如何解决DevExpress ASPxGridView不支持编辑数据的问题?
作者:zhuhm 来源:本站原创 浏览:Loading...次 发布时间:2012-08-30 评论:0条
在项目中,我通过ASPxGridView来链接到LinqServerModeDataSource。麻烦的是,ASPxGridView不允许我们编辑数据,但是我必须支持编辑数据,这个如何解决?
解决方案
LinqServerModeDataSource与一个支持数据修改操作的数据源控件配合使用,可轻松地解决ASPxGridView的编辑数据问题。
首先, 我们得了解一下ASPxGridView是如何工作的. 当点击更新(删除)按钮时,表格视图将会调用它相关的数据源的更新(删除,插入)命令。当ASPxGridView连接到LinqServerModeDataSource时,你点击更新(删除)等这些按钮,将会触发”Specified Method is Not Supported“异常, 并且ASPxGridView 还会在EditForm的错误行上提示"Specified Method is Not Supported" 。这是因为 LINQ 定义了查询语言,但是它并没有定义如何进行数据修改,所以才会发生这个问题。
你应该做的是:
1) 处理ASPxGridView的 行更新, 行插入, 行删除事件;
2) 防止ASPxGridView 自己去处理修改操作;
3) 委托数据修改操作到额外的数据源上.
下面的代码显示了怎样实现数据的修改:
[C#]
protected void ASPxGridView1_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) {
LinqDataSource1.Update(e.Keys, e.NewValues, e.OldValues);
e.Cancel = true;
ASPxGridView1.CancelEdit();
}
protected void ASPxGridView1_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e) {
LinqDataSource1.Insert(e.NewValues);
e.Cancel = true;
ASPxGridView1.CancelEdit();
}
protected void ASPxGridView1_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e) {
LinqDataSource1.Delete(e.Keys, e.Values);
e.Cancel = true;
ASPxGridView1.CancelEdit();
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [http://www.devexpresscn.com/]
本文地址:http://www.devexpresscn.com/DevExpress-Resources/Documentation-216.html
评论列表
暂无评论
请谈谈你的看法 请使用IE或者Firefox浏览器,暂不支持Chrome!
慧都控件网为DevExpress界面控件的中国地区唯一正式授权经销商,正版控件销售公司,授权代理商,经销商及合作伙伴。
电话:400-700-1020
023-66090381
邮箱:sales@evget.com
相关资源
- GridView 快速遍历
- 在GridControl中如何打开Excel文件
- GridView详细视图的服务器模式功能使用方法
- 如何绑定实体框架对象到XtraGrid
- 使用CreatePrintInfoInstance导出自定义文本和Gridbands
- GridView中格式化数据显示的问题
- 显示AgDataGrid主从数据
- GridControl运行时是否可以不选中任何行
- XtraGrid网格行热跟踪
- DXGrid的列能不能通过双击列表头实现
- 如何获取GridView的页面列值
- DXPivotGrid如何增加一列百分比
- DXGrid单元格样式
- 更改数据单元格的呈现效果
- Chart中图例与鼠标滑过时显示的数据不一致
- ASPxGridView分组排序
- WPF表格控件GridControl如何设置行高
- 定义DXGrid的打印外观
- ASPxGridView控件FAQ
- ASPxGridView主要特征以及方法