Dev里面DataGid控件使用方法之一

转载 2006年05月30日 16:15:00

(1)Dev控件GridControl 的使用

1、确认当前正在编辑的单元格的输入
this.gridview1.CloseEditor();

2、保存当前行的值到数据源
this.gridview1.UpdateCurrentRow();

3、通过数据适配器把修改更新到数据库
sqlDataAdapter1.Update(myDataSet, "MyTable")
//此时直接通过DataAdapter执行Update就可以

按照1,2,3的步骤执行;也可以通过1,2步骤然后通过Sql实现

(2)DataGrid的初始化
       gridView1.OptionsView.EnableAppearanceEvenRow = true;
      gridView1.OptionsView.EnableAppearanceOddRow = true;
      gridView1.OptionsView.ShowFilterPanel = false;
     gridView1.OptionsView.ShowGroupPanel = false;


   gridView1.OptionsView.ShowGroupPanel=false;
   gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
   gridView1.OptionsBehavior.Editable = false;
   gridView1.OptionsCustomization.AllowColumnMoving = false;
   gridView1.OptionsCustomization.AllowColumnResizing = false;
   gridView1.OptionsCustomization.AllowGroup = false;
   gridView1.OptionsCustomization.AllowFilter = false;
   gridView1.OptionsCustomization.AllowSort = true;

(3)获取选中的行 和选中行的字段的内容

int[] a = this.gridView1.GetSelectedRows(); //传递实体类过去 获取选中的行
LAA.AssetGuid = this.gridView1.GetRowCellValue(a[0], "AssetGuid").ToString();//获取选中行的内容



(4)以前在windows 自带的控件里面Button控件的相互调用是
button1_Click(null,EventArgs.Empty);
Dev控件下面是
simpleButton1_Click(new object(),new EventArgs());

(5)在XtraGrid中如何验证单元格的值
我们在XtraGrid直接输入数据的情况下,如何验证每一个单元格输入的值是否正确呢?
有两种方法来实现基于单元格的验证:
1、使用RepositoryItem.Validating事件
事件的"sender" 必须转换为BaseEdit类型,使用EditValue来获取当前输入的值并进行校验,如果校验不通过,把e.Cancel设置True。这种方法一般用来对内置控件的单元格进行数据验证
2、使用 GridView.ValidatingEditor 事件
事件的"sender"必须转换为GridView类型,当前列可以从GridView.FocusedColumn属性获得,值可以从e.Value获取,如果校验不通过,需要把e.Valid设置为False.。
这种方法一般用于对整个Grid内的文本框进行数据验证
在设置完事件之后需要写一个GridView.InvalidValueException 的事件委托:
例如:

private void gridView1_InvalidValueException(object sender, DevExpress.XtraGrid.Views.Base.InvalidValueExceptionEventArgs e) {
  e.ThrowException 
= false;
  e.WindowText 
= "The new value is invalid. Please correct it or press Esc to abandon your changes.";
  e.DisplayError 
= true;
}

(6)barManager的具体设置
在增加了barManager控件以后,在[Click Here to add MainMenu] [Click Here to Tool Bar]里面选择[Click Here to Tool Bar] 填写需要新增的工具栏按钮。
进入Designer 里面,选择ToolBars  ->Custom 1->OptionsBar 里面进行如下设置:
AllowQuickCustomization=false
DrawDragBorder=false
RotateWhenVertical=false
UseWholeRow=True
以上4项进行初始化设置

(7) 在DataGrid 里面增加状态栏
首先在BarManager里面增加StaticText  把新增的barStaticItem 的AutoSize 设置为Spring
然后,编写以下代码:

private void StateCote()
        
{
           
            
if (gridView1.RowCount!=0)
            
{
                
int a=this.gridView1.RowCount;
                barStaticItem1.Caption
="当前共有记录:"+a.ToString();
                
int[] b=this.gridView1.GetSelectedRows();
                b[
0]+=1;
                barStaticItem2.Caption
="当前选中:"+b[0].ToString();
            }

            
else
            
{
                barStaticItem1.Caption
="当前共有记录:";
                barStaticItem2.Caption
="当前选中:";
            }
        
        }


        
private void gridControl1_Click(object sender, System.EventArgs e)
        
{
            StateCote();
        }


        
private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        
{
            StateCote();
        }


(8) DateTable 填充DataGrid
这里需要引用:

using DevExpress.Utils;


/// <summary>
        
/// 根据DataTable 填充DataGrid
        
/// </summary>
        
/// <param name="dt"></param>

        private void DisposeDataGrid(DataTable dt)
        
{
            
//标题居中
            gridView1.Appearance.HeaderPanel.TextOptions.HAlignment =HorzAlignment.Center;
            
            
this.gridControl1.DataSource = dt;
            gridView1.Columns[
0].Visible = false;//异常日志GUID
            gridView1.Columns[1].Visible = false;//通行编号
            gridView1.Columns[2].Visible = false;//通道编号
            
            gridView1.Columns[
3].Caption = "通道名称";
            gridView1.Columns[
3].Width = 100;

            gridView1.Columns[
4].Caption = "卡号";
            gridView1.Columns[
4].Width = 100;

            gridView1.Columns[
5].Caption = "持卡人姓名";
            gridView1.Columns[
5].Width = 60;


            gridView1.Columns[
6].Caption = "主卡卡号";
            gridView1.Columns[
6].Width = 100;
            
            gridView1.Columns[
7].Caption = "主卡持卡人";
            gridView1.Columns[
7].Width = 60
            
            gridView1.Columns[
8].Caption = "通行时间";
            gridView1.Columns[
8].Width = 100;


            gridView1.Columns[
9].Caption = "车牌号码";
            gridView1.Columns[
9].Width = 60;
            
            
            
            gridView1.Columns[
10].Visible = false;//图象GUID


            gridView1.Columns[
11].Caption = "异常描述";
            gridView1.Columns[
11].Width = 100;

            gridView1.Columns[
12].Caption = "处理结果";
            gridView1.Columns[
12].Width = 100;

            gridView1.Columns[
13].Visible = false;//ImageID


            
//可以排序
            gridView1.OptionsCustomization.AllowSort=true;
        }

其中有一列显示时间类型

            gridView1.Columns[
3].Caption = "操作时间";
            gridView1.Columns[
3].Width = 200;
            gridView1.Columns[
3].UnboundType = DevExpress.Data.UnboundColumnType.DateTime;
            gridView1.Columns[
3].DisplayFormat.FormatString = "F";
            gridView1.Columns[
3].DisplayFormat.FormatType = FormatType.DateTime;


(9) 双击DataGrid弹出详细信息
private void gridControl1_DoubleClick(object sender, System.EventArgs e)
        
{
            
//双击弹出异常日志描述
            if (this.gridView1.RowCount > 0)
            
{
                
int[] a=this.gridView1.GetSelectedRows();
                
string str_GUID=this.gridView1.GetRowCellValue(a[0],"Ex_No").ToString();//获得异常编号
                MessageBox.Show(str_GUID);
                frmExceptionLogDesc dlg
=new frmExceptionLogDesc(); 
                dlg.Text 
= "异常日志查看";
                dlg.ShowDialog();
            }

        }

Dev里面DataGid控件使用方法之一

(1)Dev控件GridControl 的使用 1、确认当前正在编辑的单元格的输入 this.gridview1.CloseEditor(); 2、保存当前行的值到数据源 this.gridv...
  • xieyufei
  • xieyufei
  • 2014年06月26日 21:48
  • 1592

DEV 控件使用技巧

DEV 控件之GridControl CheckEdit 控件 : 获取行 多选框中的值: 需要先关闭修改 既GridView.CloseEditor(); var value = GridV...
  • u014117094
  • u014117094
  • 2016年03月04日 17:21
  • 1095

DEV部分控件汉化

/** DevExpress.XtraEditors.Controls  此控件包中包含的控件最多,包括文本框,下拉列表,按钮,等等       DevExpress.XtraGrid 网格   ...
  • cuiweibin5
  • cuiweibin5
  • 2014年07月28日 15:58
  • 790

使用DEV控件创建Winform主框架(Ribbion)(二)

使用DEV控件创建Winform主框架(Ribbion)(二)
  • hao123_66
  • hao123_66
  • 2016年07月30日 22:04
  • 1370

动态添加dev CheckEdit控件,以及删除。事件处理

//删除原有动态生成的控件,原本这个容器中只有4个控件,其他的都是动态生成。如后期有添加控件,这里的4应做修改 int count = navBarGroupControlCo...
  • shui0527
  • shui0527
  • 2013年09月24日 15:35
  • 1962

linux下的/dev/mem设备认识和使用

最近在为了读取一个寄存器的值动心思时,突然发现,一个好用的工具”r”,源码...
  • lsn946803746
  • lsn946803746
  • 2016年10月27日 17:42
  • 1855

C# WinForm 技巧一: 自定义分页控件

老罗传奇 快乐高效的生活 LCL https://github.com/luomingui 首页新随笔订阅管理 随笔 - 215  文章 - 21  评论 - 113 ...
  • kasama1953
  • kasama1953
  • 2016年08月05日 22:28
  • 4046

使用DEV控件创建Winform主框架(Ribbion)(一)

构建Winform系统的主框架(VS2012)
  • hao123_66
  • hao123_66
  • 2016年07月30日 21:15
  • 2082

dev treelist 常用用法小结

要求如下: 1:选择父节点后,子节点全部打钩; 2:选择子节点而不选择父节点,则从当前节点的父节点一直到根节点check框都是半选状态。 3:当子节点均未勾选时,设置父节点状态为:未选中状态 具体实现...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2015年05月18日 12:03
  • 3076

Dev控件 TreeList的使用,绑定多级树以及多选框的三种状态

TreeList控件可以同时显示树结构和其他数据列,即在一个列上建立父子关系展开或收缩,同时还可以显示其他列的内容。 在TreeList中同时引入了 Node和 Columns概念, 第一列为...
  • dreamgis
  • dreamgis
  • 2013年10月15日 17:15
  • 2261
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Dev里面DataGid控件使用方法之一
举报原因:
原因补充:

(最多只允许输入30个字)