开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 3401|回复: 0

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

[复制链接]

0

精华

5

贡献

16

赞扬

帖子
20
软币
212
在线时间
31 小时
注册时间
2013-10-25
发表于 2013-11-3 22:36:03 | 显示全部楼层 |阅读模式




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();
          }(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();
              }
          }








评分

参与人数 2赞扬 +2 收起 理由
zggaoshou + 1 感谢分享
xiaoz + 1 赞一个

查看全部评分

回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-5-5 00:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表