文档介绍:XtraGrid使用心得
XtraGrid 的关键类就是:GridControl 和 GridViewo GridControl 本身不显示数 据,数据都是显示在 GridView/CardView/XXXXView 中 oGridControl 是各种 View 的容器。所以要控制显示,要从GridView这些类入 手。关于GridControl与 GridView的关系,我不说了。下面给出一段代码。实际使用中常用到。
public Form2()
{
InitializeComponent();
〃不显示内置的导航条。
gel. UseEmbeddedNavigator = false;
〃不显示分组的面板
gvl. OptionsView. ShowGroupPanel = false;
gv2. OptionsView. ShowGroupPanel = false;
〃自动改变行高适应内容
gvl. OptionsView. RowAutoHeight = true;
. RowAutoHeight = true;
〃允许自动合并单元格
gvl. OptionsView. AllowCellMerge = true;
〃如果主从表中,没有找到从表内容也要显示(默认是不显示的) gvl. OptionsDetail. AllowExpandEmptyDetails = true;
//显示自动筛选行(效果跟Excel的自动筛选差不多)
gv2. OptionsView. ShowAutoFilterRow = true;
//使得GridView不能编辑
. Editable = false;
gv2. OptionsBehavior. Editable = false;
〃内置编辑器显示的模式
. EditorShowMode =
DevExpress. Utils. EditorShowMode. Click;
//主从表显示的功能是否可用
//gvl. OptionsDetail. Enab1eMasterViewMode = false:
〃如果显示了主从表,每点开个加号,就会显示一个Tabs,里面 往往显示了两个面板。
〃事实上没必要这样干的。一般选择关闭。关闭的对象是主
GridView的此项属性。
gvl. OptionsDetail. ShowDetailTabs = false;
}
private void btnExit_Click(object sender, EventArgs e)
{
this. Close ();
}
private void btnOk_Click(object sender, EventArgs e)
{
〃设置连接字符串
DbHelperSQL. Connectionstring =
DbHelperSQL. GreateConnectionString(矿BUDDHAS\SQLEXPRESS〃,〃sa〃, 〃00000〃, 〃RTDMES〃);
DataSet ds = new DataSet();
//父GridView的数据
string sql = "select sc_prno, sc_prna from mespb04h〃;
DbHelperSQL. QueryD(sql, ds, ;
//子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^,
].Columns[〃sc_prno〃],
[〃son〃] .Columns[〃sc_prno〃]);
ds. Relations. Add (relation);
〃这也是一个关键,不能直接设为:ds,必须指明到表。 gel. DataSource = ds. Tables[〃main〃];
上面的代码是显示一个主从表。显示主从表有些技巧。文档中还没有说出来, 俺摸索了一个晚上才搞出来。像上面看