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

本文详细介绍了Dev控件GridControl的使用方法,包括编辑单元格、保存数据、初始化设置、验证单元格值等核心功能,并提供了具体的代码示例。
None.gif(1)Dev控件GridControl 的使用
None.gif
None.gif
1、确认当前正在编辑的单元格的输入
None.gif
this.gridview1.CloseEditor();
None.gif
None.gif
2、保存当前行的值到数据源
None.gif
this.gridview1.UpdateCurrentRow();
None.gif
None.gif
3、通过数据适配器把修改更新到数据库
None.gifsqlDataAdapter1.Update(myDataSet, 
"MyTable")
None.gif
//此时直接通过DataAdapter执行Update就可以
None.gif

None.gif按照1,
2,3的步骤执行;也可以通过1,2步骤然后通过Sql实现
None.gif
None.gif(
2)DataGrid的初始化
None.gif       gridView1.OptionsView.EnableAppearanceEvenRow 
= true;
None.gif      gridView1.OptionsView.EnableAppearanceOddRow 
= true;
None.gif      gridView1.OptionsView.ShowFilterPanel 
= false;
None.gif     gridView1.OptionsView.ShowGroupPanel 
= false;
None.gif
None.gif
None.gif   gridView1.OptionsView.ShowGroupPanel
=false;
None.gif   gridView1.OptionsSelection.EnableAppearanceFocusedCell 
= false;
None.gif   gridView1.OptionsBehavior.Editable 
= false;
None.gif   gridView1.OptionsCustomization.AllowColumnMoving 
= false;
None.gif   gridView1.OptionsCustomization.AllowColumnResizing 
= false;
None.gif   gridView1.OptionsCustomization.AllowGroup 
= false;
None.gif   gridView1.OptionsCustomization.AllowFilter 
= false;
None.gif   gridView1.OptionsCustomization.AllowSort 
= true;
None.gif
None.gif(
3)获取选中的行 和选中行的字段的内容
None.gif
None.gif
int[] a = this.gridView1.GetSelectedRows(); //传递实体类过去 获取选中的行
None.gif
LAA.AssetGuid = this.gridView1.GetRowCellValue(a[0], "AssetGuid").ToString();//获取选中行的内容
None.gif

None.gif
None.gif
None.gif
None.gif(
4)以前在windows 自带的控件里面Button控件的相互调用是
None.gifbutton1_Click(
null,EventArgs.Empty); 
None.gifDev控件下面是
None.gifsimpleButton1_Click(
new object(),new EventArgs());
None.gif
None.gif(
5)在XtraGrid中如何验证单元格的值 
None.gif我们在XtraGrid直接输入数据的情况下,如何验证每一个单元格输入的值是否正确呢?
None.gif有两种方法来实现基于单元格的验证:
None.gif
1、使用RepositoryItem.Validating事件
None.gif事件的
"sender" 必须转换为BaseEdit类型,使用EditValue来获取当前输入的值并进行校验,如果校验不通过,把e.Cancel设置True。这种方法一般用来对内置控件的单元格进行数据验证
None.gif
2、使用 GridView.ValidatingEditor 事件
None.gif事件的
"sender"必须转换为GridView类型,当前列可以从GridView.FocusedColumn属性获得,值可以从e.Value获取,如果校验不通过,需要把e.Valid设置为False.。
None.gif这种方法一般用于对整个Grid内的文本框进行数据验证
None.gif在设置完事件之后需要写一个GridView.InvalidValueException 的事件委托:
None.gif例如:
None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif
private void gridView1_InvalidValueException(object sender, DevExpress.XtraGrid.Views.Base.InvalidValueExceptionEventArgs e) dot.gif{
InBlock.gif  e.ThrowException 
= false;
InBlock.gif  e.WindowText 
= "The new value is invalid. Please correct it or press Esc to abandon your changes.";
InBlock.gif  e.DisplayError 
= true;
ExpandedBlockEnd.gif}

None.gif
None.gif(
6)barManager的具体设置
None.gif在增加了barManager控件以后,在[Click Here to add MainMenu] [Click Here to Tool Bar]里面选择[Click Here to Tool Bar] 填写需要新增的工具栏按钮。
None.gif进入Designer 里面,选择ToolBars  
->Custom 1->OptionsBar 里面进行如下设置:
None.gifAllowQuickCustomization
=false
None.gifDrawDragBorder
=false
None.gifRotateWhenVertical
=false
None.gifUseWholeRow
=True
None.gif以上4项进行初始化设置
None.gif
None.gif(
7) 在DataGrid 里面增加状态栏
None.gif首先在BarManager里面增加StaticText  把新增的barStaticItem 的AutoSize 设置为Spring
None.gif然后,编写以下代码:
None.gif
None.gif
None.gif
private void StateCote()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif           
InBlock.gif            
if (gridView1.RowCount!=0)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
int a=this.gridView1.RowCount;
InBlock.gif                barStaticItem1.Caption
="当前共有记录:"+a.ToString();
InBlock.gif                
int[] b=this.gridView1.GetSelectedRows();
InBlock.gif                b[
0]+=1;
InBlock.gif                barStaticItem2.Caption
="当前选中:"+b[0].ToString();
ExpandedSubBlockEnd.gif            }

InBlock.gif            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                barStaticItem1.Caption
="当前共有记录:";
InBlock.gif                barStaticItem2.Caption
="当前选中:";
ExpandedSubBlockEnd.gif            }
        
ExpandedBlockEnd.gif        }

None.gif
None.gif        
private void gridControl1_Click(object sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            StateCote();
ExpandedBlockEnd.gif        }

None.gif
None.gif        
private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            StateCote();
ExpandedBlockEnd.gif        }

None.gif
None.gif(
8) DateTable 填充DataGrid
None.gif这里需要引用:
None.gif
None.gif
None.gif
using DevExpress.Utils;
None.gif
None.gif
None.gif
ExpandedBlockStart.gifContractedBlock.gif
/**//**//**//// <summary>
InBlock.gif        
/// 根据DataTable 填充DataGrid
InBlock.gif        
/// </summary>
ExpandedBlockEnd.gif        
/// <param name="dt"></param>

None.gif        private void DisposeDataGrid(DataTable dt)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            
//标题居中
InBlock.gif
            gridView1.Appearance.HeaderPanel.TextOptions.HAlignment =HorzAlignment.Center;
InBlock.gif            
InBlock.gif            
this.gridControl1.DataSource = dt;
InBlock.gif            gridView1.Columns[
0].Visible = false;//异常日志GUID
InBlock.gif
            gridView1.Columns[1].Visible = false;//通行编号
InBlock.gif
            gridView1.Columns[2].Visible = false;//通道编号
InBlock.gif
            
InBlock.gif            gridView1.Columns[
3].Caption = "通道名称";
InBlock.gif            gridView1.Columns[
3].Width = 100;
InBlock.gif
InBlock.gif            gridView1.Columns[
4].Caption = "卡号";
InBlock.gif            gridView1.Columns[
4].Width = 100;
InBlock.gif
InBlock.gif            gridView1.Columns[
5].Caption = "持卡人姓名";
InBlock.gif            gridView1.Columns[
5].Width = 60;
InBlock.gif
InBlock.gif
InBlock.gif            gridView1.Columns[
6].Caption = "主卡卡号";
InBlock.gif            gridView1.Columns[
6].Width = 100;
InBlock.gif            
InBlock.gif            gridView1.Columns[
7].Caption = "主卡持卡人";
InBlock.gif            gridView1.Columns[
7].Width = 60
InBlock.gif            
InBlock.gif            gridView1.Columns[
8].Caption = "通行时间";
InBlock.gif            gridView1.Columns[
8].Width = 100;
InBlock.gif
InBlock.gif
InBlock.gif            gridView1.Columns[
9].Caption = "车牌号码";
InBlock.gif            gridView1.Columns[
9].Width = 60;
InBlock.gif            
InBlock.gif            
InBlock.gif            
InBlock.gif            gridView1.Columns[
10].Visible = false;//图象GUID
InBlock.gif

InBlock.gif
InBlock.gif            gridView1.Columns[
11].Caption = "异常描述";
InBlock.gif            gridView1.Columns[
11].Width = 100;
InBlock.gif
InBlock.gif            gridView1.Columns[
12].Caption = "处理结果";
InBlock.gif            gridView1.Columns[
12].Width = 100;
InBlock.gif
InBlock.gif            gridView1.Columns[
13].Visible = false;//ImageID
InBlock.gif
InBlock.gif
InBlock.gif            
//可以排序
InBlock.gif
            gridView1.OptionsCustomization.AllowSort=true;
ExpandedBlockEnd.gif        }

None.gif其中有一列显示时间类型
None.gif
None.gif            gridView1.Columns[
3].Caption = "操作时间";
None.gif            gridView1.Columns[
3].Width = 200;
None.gif            gridView1.Columns[
3].UnboundType = DevExpress.Data.UnboundColumnType.DateTime;
None.gif            gridView1.Columns[
3].DisplayFormat.FormatString = "F";
None.gif            gridView1.Columns[
3].DisplayFormat.FormatType = FormatType.DateTime;
None.gif
None.gif(
9) 双击DataGrid弹出详细信息
None.gif
private void gridControl1_DoubleClick(object sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            
//双击弹出异常日志描述
InBlock.gif
            if (this.gridView1.RowCount > 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
int[] a=this.gridView1.GetSelectedRows();
InBlock.gif                
string str_GUID=this.gridView1.GetRowCellValue(a[0],"Ex_No").ToString();//获得异常编号
InBlock.gif
                MessageBox.Show(str_GUID);
InBlock.gif                frmExceptionLogDesc dlg
=new frmExceptionLogDesc(); 
InBlock.gif                dlg.Text 
= "异常日志查看";
InBlock.gif                dlg.ShowDialog();
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/aaliujing/archive/2006/12/19/596449.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值