Dev GridControl 小结

时间 2014-03-26 19:24:01  CSDN博客
主题 .Net
//删除记录
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的更多相关文章

  1. DEV GridControl小结。。

    [转]DEV GridControl小结.. 来自:http://www.cnblogs.com/yuerdongni/archive/2012/09/08/2676753.html   1. 如何解 ...

  2. DEV GridControl小结

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  3. DEV GridControl 小结(持续添加)

    一.属性: 1.Views OptionsBehavior=>Editable:False  列表不可编辑 OptionsSelection=>EnableAppearanceFocuse ...

  4. Dev gridControl z

    Dev gridControl 添加表标题 1.OptionsView ->ShowViewCaption = True 2.ViewCaption = "标题" Dev g ...

  5. 转载--DEV GridControl 的一些基本操作

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  6. C# dev GridControl绑定数据不能显示

    如题, dev GridControl绑定数据不能显示时可检查数据操作顺序 view = advBandedGridView1 as AdvBandedGridView; //第1 this.advB ...

  7. DevExpress GridControl小结

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  8. c# dev GridControl多选当前行显示样式问题

    由于Dev GridControl在支持多选的时候,如果如果焦点行单独加了样式,Appearance-->FocusedRow  &  HideSelectionRow 这个时候,鼠标焦 ...

  9. DEV GridControl.TableView FocusedRow选中行背景颜色

    上次修改了TableView.RowStyle,导致了一个问题:覆盖了GridControl默认的选中行颜色. 于是需要重写选中行的颜色. 刚开始的想法是: <dxg:TableView> ...

随机推荐

  1. iOS 之UIBezierPath

    代码地址如下:http://www.demodashi.com/demo/11602.html 在之前的文章中,由于用到过UIBezierPath这个类,所以这里就对这个类进行简单的记录一下,方便自己 ...

  2. OgnlValueStack:49 - Error setting expression 'sfjmyh.zdyx6' with value '[Ljava.lang.String;@28d320d6'

    作过户管理流程时,提交表单后控制台显示如下错误 : WARN com.opensymphony.xwork2.ognl. OgnlValueStack:60 - Error setting expre ...

  3. Velocity写法注意

    1.$Proerty与$!{Property}的区别 比如: 简单的key-value数据格式情况下 a.<C_APP_NME>$Applicant_CAppNme</C_APP_N ...

  4. Mysql查询缓存碎片、缓存命中率及Nagios监控

    Mysql 的优化方案,在互联网上可以查找到非常多资料,今天对Mysql缓存碎片和命中率作了详细了解,个人作了简单整理. 一.Mysql查询缓存碎片和缓存命中率. mysql> SHOW STA ...

  5. ELF解析(part one)

    the contents class elf { //date structure Elf32_Ehdr ehdr; Elf32_Shdr shdr; Elf32_Phdr phdr; // void ...

  6. win7安装RabbitMQ

    1.下载并安装erlang http://www.erlang.org/downloads 2.下载并安装RabbitMQ http://www.rabbitmq.com/install-window ...

  7. 转载-好用的linux软件合集

    音频 Airtime – Airtime 是一款用于调度和远程站点管理的开放广播软件  Ardour – 在 Linux 上录音,编辑,和混音  Audacious – 开源音频播放器,按你想要的方式 ...

  8. java - day15 - NonameInner

    匿名内部类 public interface Inter {} interface Inter2{ void show(); } main(){ //错误,接口不能实例化 Inter t = new ...

  9. 查看zookeeper是否启动

    查看进程: 方法: ps -aux | grep 'zookeeper' 系统有返回,说明zookeeper启动. 你可以搜索ps -aux.

  10. java过滤四字节和六字节特殊字符

    java7版本中可以这样写: source.replaceAll("[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]", "* ...