Dev GridControl 小结3

Dev GridControl 小结

时间 2014-03-26 19:24:01  CSDN博客

原文  http://blog.csdn.net/jiankunking/article/details/22202753

主题 .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();

时间: 2024-12-21 23:25:59

Dev GridControl 小结3的相关文章

DEV GridControl小结

1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.AddNewRow() (2).实现 gridView_InitNewRow 事件 3.如何解决 GridControl 记录能获取而没有显示出来的问题 gridView.populateColumns(); 4.如何让行只能选择而不能编辑(或编辑某一单元格) (1).View->OptionsBehavi

DEV GridControl小结【转载】

1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.AddNewRow() (2).实现 gridView_InitNewRow 事件 3.如何解决 GridControl 记录能获取而没有显示出来的问题 gridView.populateColumns(); 4.如何让行只能选择而不能编辑(或编辑某一单元格) (1).View->OptionsBehavi

Dev gridControl z

Dev gridControl 添加表标题 1.OptionsView ->ShowViewCaption = True 2.ViewCaption = "标题" Dev gridControl 按回车增加一行 将NewItemRowPosition属性设置为Top或Bottom, 在这样的新行中输入数据后,会自动添加到绑定的数据源中的, 如果你希望在按回车时焦点跳至下一列, 只需要设置GridView的OptionNavigations->EnterMoveNextCol

DevExpress GridControl小结

1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.AddNewRow() (2).实现 gridView_InitNewRow 事件 3.如何解决 GridControl 记录能获取而没有显示出来的问题 gridView.populateColumns(); 4.如何让行只能选择而不能编辑(或编辑某一单元格) (1).View->OptionsBehavi

dev gridcontrol选中多行数据

dev的gridcontrol控件作表格时是可以实现按Ctrl键选中多行数据的,首先改变gridcontrol的一个属性:gridview1->OptionsSelection->MultiSelect改为true,即允许选中多行.然后在需要使用的事件方法中加入以下代码:int[] rows = gridview1.GetSelectedRows();即可获取选中行的行号

dev gridcontrol控件手动添加一行数据

很多时候我们真的只想单纯的手动添加一行数据,而不想修改数据源再回来绑定.如果你有这种想法,那么我可以负责任的告诉你:做不到! 我已经两次遇到过这样的问题,尝试手动添加,整整两天时间都没有成功.网上说的方法基本都是绑定数据源,偶尔有人说用SetRowCellValue方法,用法如下: gridView1.SetRowCellValue(0, gridView1.Columns[0], "qwe"); 即在0行0列的单元格设为qwe值,看起来多好,可问题是它就是不显示,更改了无数属性都无法

DEV GridControl 常用属性 z

1隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值 sValue=Table.Rows[gridView1.FocusedRowHandle][FieldName].ToString(); 3.数据只读 gridView1.OptionsBehavior.Editable=false; 4.不显示MasterDetailView gridView1.OptionsDetail.EnableMa

WinForm&&DEV知识小结

-------------------------------------------------------------------------------- 1.父窗体Form1中调用子窗体Form2代码: Form2 fr = new Form2(); this.hide(); fr.ShowDialog(this); 2.子窗体的FormClosed事件代码: private void Form2_FormClosed(object sender, FormClosedEventArgs

Dev GridControl数据导出格式问题

环境:DevExpress9.3,Vs2008 DevExpress的GridControl提供方便的数据导出到Excel功能,导出中用户可以根据GridControl的格式进行导出(ExportToXls(Stream stream)方法). 1.如果表中存在一列为字符类型,但是存放的为数字,那么按照GridControl的格式导出到Excel中便会产生"将存储为文本的数字转换为数字"的问题提示,必须在Excel中把这些值转化为数字,才可进行计算等. 对于这种方式的处理方法很简单,只