Dev GridControl 小结3
Dev GridControl 小结
//删除记录
this.gridView1.DeleteSelectedRows();
//添加记录
this.gridView1.AddNewRow();
1、确认当前正在编辑的单元格的输入
this.gridview1.CloseEditor();
2、得到单元格数据(0行0列)
string ss=gridView1.GetRowCellDisplayText(0, gridView1.Columns[0]);
string ss = gridView1.GetRowCellValue(0, gridView1.Columns[0]);
3、设置单元格数据(将0行0列的单元格赋值123)
gridView1.SetRowCellValue(0, gridView1.Columns[0], "123");
//复制最后一行的数据到新行
View.SetRowCellValue(e.RowHandle, View.Columns[0], gridView1.GetRowCellValue(gridView1.GetRowHandle(gridView1.RowCount - 2), gridView1.Columns[0]));
4、保存当前行的值到数据源
this.gridview1.UpdateCurrentRow();
小注:
当你使用gridView1.AddNewRow(); 在gridView1上新增一行,并使用SetRowCellValue()函数对新增行相应的列进行赋值后(此时界面上,新增行上已经有值)。
此时使用GetRowCellValue()函数来获取列值,仍然会是null。怎么解决呢?
在SetRowCellValue()函数赋值后,使用UpdateCurrentRow()将数据更新到gridview1中,此时使用GetRowCellValue()函数就可以获取到值了。
5、DataRowState 成员名称及说明
Added 该行已添加到 DataRowCollection 中,AcceptChanges 尚未调用。
Deleted 该行已通过 DataRow 的 Delete 方法被删除。
Detached 该行已被创建,但不属于任何 DataRowCollection。DataRow 在以下情况下立即处于此状态:创建之后添加到集合中之前;或从集合中移除之后。
Modified 该行已被修改,AcceptChanges 尚未调用。
Unchanged 该行自上次调用 AcceptChanges 以来尚未更改。
// 遍历所有修改过的行
foreach (DataRow row in ds.Tables[0].GetChanges().Rows)
{
}
6、行版本(DataRowVersion)
行(DataRow)对象有四种不同的行版本,分别是Current,Original,proposed和default。下面对这些行版本进行简要的说明。
Current:表示行的当前值。处于deleted状态的行不存在该行版本。
Original:表示行的原始值。处于Added状态的行不存在该行版本
Proposed:表示行的建议值。不属于表的行,即处于Detached状态的行存在该行版本;对于正在进行编辑的行,也存在该行版本。
Default:表示行的默认版本。处于Added,Modified或则Unchanged状态的行的默认行版本是current;处于deleted状态的行的默认行版本是original。处于Detached状态的行的默认版本是proposed。
7、修改最上面的GroupPanel内容
代码设置方式:
gridView1.GroupPanelText="1111111";
界面设置方式:

效果如下:

8、设某一列文字和标题局中显示
代码设置方式:
gridView1.Columns[0].AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
界面设置方式:

DevExpress.XtraGrid.v13.2
UpdateCurrentRow
//
// 摘要:
// Validates the focused row and saves its values to the data source.
//
// 返回结果:
// true if the row has been successfully updated; otherwise, false.
public override bool UpdateCurrentRow();
校验焦点行并保存值到数据源中.
同时 1,更新 Rowstate = Modified ; 2,关闭编辑器 !!单独使用也没有生效
PostEditor
//
// 摘要:
// Posts the value being edited to the associated data source without closing
// the active in-place editor.
//
// 返回结果:
// true if the value being edited has been successfully saved to the associated
// data source; otherwise, false.
public bool PostEditor();
提交数据到关联的数据源但是并'不'关闭活动编辑器,也不会更新行状态
CloseEditor
//
// 摘要:
// Hides the active editor saving changes made.
public void CloseEditor();
关闭编辑器并保存更改的数据,但是不会更新行状态
//效果 : 在未关闭编辑器的情况下,更新编辑器的值到数据源并改变RowState
this.GridView.PostEditor();
this.GridView.UpdateCurrentRow();
首先绑定DataKeyNames
GridView.DataKeyNames = new string[] { "字段名称" };
取值
string aaa= GridView.DataKeys[e.Row.RowIndex].Value.ToString();
1、在绑定时设置主键:
//设置主键;
GridView1.DataKeyNames = new string[] { "id" };
GridView1.DataBind();
2、获取键值:
GridView1.DataKeys[e.RowIndex].Value.ToString();
按钮事件里添加
string str_dk= GridView1.DataKeys[e.Row.RowIndex].Value.ToString();
如果GridView控件的DataKeyNames属性设置了表的两个字段(SubjectID,Mode),那么在为GridView绑定数据时对库表的每个记录的指定字段值要作出判断。后台代码中的e.Row.RowIndex即表示GridView的当前行(对应于库表的当前记录);而 View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString()则获取当前行指定字段(Mode) 的值。若前台代码只写:DataKeyNames="SubjectID'(即DataKeyNames属性只填入一个字段名),则后台只需写成: View1.DataKeys[e.Row.RowIndex].Value.ToString()) 即可。
同样的,要动态获取当前行另一个字段的值可以这样写: View.DataKeys[e.Row.RowIndex].Values["SubjectID"].ToString())。
Dev GridControl 小结3的更多相关文章
- DEV GridControl小结。。
[转]DEV GridControl小结.. 来自:http://www.cnblogs.com/yuerdongni/archive/2012/09/08/2676753.html 1. 如何解 ...
- DEV GridControl小结
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...
- DEV GridControl 小结(持续添加)
一.属性: 1.Views OptionsBehavior=>Editable:False 列表不可编辑 OptionsSelection=>EnableAppearanceFocuse ...
- Dev gridControl z
Dev gridControl 添加表标题 1.OptionsView ->ShowViewCaption = True 2.ViewCaption = "标题" Dev g ...
- 转载--DEV GridControl 的一些基本操作
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...
- C# dev GridControl绑定数据不能显示
如题, dev GridControl绑定数据不能显示时可检查数据操作顺序 view = advBandedGridView1 as AdvBandedGridView; //第1 this.advB ...
- DevExpress GridControl小结
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...
- c# dev GridControl多选当前行显示样式问题
由于Dev GridControl在支持多选的时候,如果如果焦点行单独加了样式,Appearance-->FocusedRow & HideSelectionRow 这个时候,鼠标焦 ...
- DEV GridControl.TableView FocusedRow选中行背景颜色
上次修改了TableView.RowStyle,导致了一个问题:覆盖了GridControl默认的选中行颜色. 于是需要重写选中行的颜色. 刚开始的想法是: <dxg:TableView> ...
随机推荐
- 在github上建立jekyll blog
1.git常用命令(简易介绍见http://rogerdudler.github.io/git-guide/index.zh.html) git init #创建新的git仓库 git clo ...
- Hive 差集运算
差集定义:一般地,设A,B是两个集合,由所有属于A且不属于B的元素组成的集合,叫做集合A减集合B(或集合A与集合B之差). 类似地,对于集合A,B,我们把集合{x/x∈A,且x¢B}叫做A与B的差集, ...
- python 在Windows中描述路径时出现的问题
问题的根本:windows读取文件可以用\,但在字符串里面\被作为转义字符使用, python在描述路径时有两种方式: 'd:\\a.txt',转义的方式 r'd:\a.txt',声明字符串不需要 ...
- Failed to add reference to 'System.Net.Http'. Please make sure that it is in the Global Assembly Cache.
关闭VS再来就好了
- iOS_绘制带删除线的Label
效果图例如以下: 一个带删除线的文本标签,继承自UILabel 自绘代码过程例如以下: 1,重写控件的drawRect方法 2,首先得到上下文对象 3,设置颜色,并指定是填充(Fill)模式还是笔刷( ...
- mysql创建数据库时设置编码方式
CREATE DATABASE procedure_function DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- Ionic学习笔记5_动态组件指令
1. 模态对话框 : $ionicModal 模态对话框常用来供用户进行选择或编辑,在模态对话框关闭之前,其他 的用户交互行为被阻止 .操作模态对象返回结果,模态对象的方法提前定制. 三个步骤 1.声 ...
- Django的自定义标签
Django提供了自定义标签功能,可以方便常用方法的重复使用. 标签的本质就是函数,标签名就是函数名. 注意点: 1.需要到django.template对象. 2.register = templa ...
- 为什么选择Handlebars.js
据了解,对于java开发,涉及到页面展示时,比较主流的有两种解决方案: 1. struts2+vo+el表达式. 这种方式,重点不在于struts2,而是vo和el表达式,其基本思想是:根据页面需要的 ...
- CS项目总结
最近做了近一年的CS项目终于接近完工了,有一种脱离苦海,跳出泥潭的感觉.虽然此项目做的很不理想,但它却给了我颇多感受,许多经验教训值得总结. 1.总的技术解决方案大方向上选择的不合适,导致后期对新的需 ...