XtraGrid使用心得一

因为项目需要,不得不研究一下XtraGrid。因为,dotnet自带的DataGridView功能实在有限的很。

  初步研究了一下。以前没有搞清楚的问题大部分搞清楚了。

  XtraGrid的关键类就是:GridControl和GridView。GridControl本身不显示数据,数据都是显示在GridView/CardView/XXXXView中。GridControl是各种View的容器。所以要控制显示,要从GridView这些类入手。关于GridControl与GridView的关系,我不说了。下面给出一段代码。实际使用中常用到。

public Form2()
{
InitializeComponent();

//不显示内置的导航条。
gc1.UseEmbeddedNavigator = false;

//不显示分组的面板
gv1.OptionsView.ShowGroupPanel = false;
gv2.OptionsView.ShowGroupPanel = false;

//自动改变行高适应内容
gv1.OptionsView.RowAutoHeight = true;
gv2.OptionsView.RowAutoHeight = true;

//允许自动合并单元格
gv1.OptionsView.AllowCellMerge = true;

//如果主从表中,没有找到从表内容也要显示(默认是不显示的)
gv1.OptionsDetail.AllowExpandEmptyDetails = true;

//显示自动筛选行(效果跟Excel的自动筛选差不多)
gv2.OptionsView.ShowAutoFilterRow = true;

//使得GridView不能编辑
gv1.OptionsBehavior.Editable = false;
gv2.OptionsBehavior.Editable = false;

//内置编辑器显示的模式
gv1.OptionsBehavior.EditorShowMode = DevExpress.Utils.EditorShowMode.Click;

//主从表显示的功能是否可用
//gv1.OptionsDetail.EnableMasterViewMode = false;

//如果显示了主从表,每点开个加号,就会显示一个Tabs,里面往往显示了两个面板。
//事实上没必要这样干的。一般选择关闭。关闭的对象是主GridView的此项属性。
gv1.OptionsDetail.ShowDetailTabs = false;


}

private void btnExit_Click(object sender, EventArgs e)
{
this.Close();

}

private void btnOk_Click(object sender, EventArgs e)
{
//设置连接字符串
DbHelperSQL.ConnectionString = DbHelperSQL.CreateConnectionString(@"BUDDHAS\SQLEXPRESS", "sa", "00000", "RTDMES");

DataSet ds = new DataSet();
//父GridView的数据
string sql = "select sc_prno,sc_prna from mespb04h";
DbHelperSQL.QueryD(sql,ds,"main");

//子GridView的数据
sql = "select pa_name,pa_no,sc_prno from mespb09h";
DbHelperSQL.QueryD(sql,ds,"son");

//这个是显示主从表的关键,一、GridControl通过检查DataSet.Relations的内容来分析数据
//二、关键名必须与设计GridView的层级关系的level name相同,否则,结果在意料之外。
DataRelation relation = new DataRelation("aa",
ds.Tables["main"].Columns["sc_prno"],
ds.Tables["son"].Columns["sc_prno"]);

ds.Relations.Add(relation);

//这也是一个关键,不能直接设为:ds,必须指明到表。
gc1.DataSource = ds.Tables["main"];
}

  上面的代码是显示一个主从表。显示主从表有些技巧。文档中还没有说出来,俺摸索了一个晚上才搞出来。像上面看到的,事实上很简单。

  上面DbHelperSQL是我从CodeMatic 2.0中搞出来的,我自己修改了一下。

  上面代码的效果图如下:

   XtraGrid使用心得一 - 伯平 - 涤心斋

  XtraGrid使用心得一 - 伯平 - 涤心斋

  对于GridView,我有两大疑问:

  一、显示主从表,这个解决了。

  二、分组显示,这是报表中经常要用到的,GridView的解决方案很简捷,只需将相应列的GroupIndex属性设一下就成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值