经常有这样的情况,需要在一个窗体内根据数据源的不同加载不同的表头,通过xtragrid可以很容易的实现
1首先用xtragrid先制作两个表头文件存储为xml文件
2在代码中进行相应的调用
贴图先:
贴代码
private void simpleButton1_Click(object sender, EventArgs e)
{
gridView1.RestoreLayoutFromXml(
Path.Combine(Application.StartupPath, "DetailA.xml"), DevExpress.Utils.OptionsLayoutBase.FullLayout);
//gridView1.DataSource=DataSet1
}
private void simpleButton2_Click(object sender, EventArgs e)
{
gridView1.RestoreLayoutFromXml(
Path.Combine(Application.StartupPath, "DetailB.xml"), DevExpress.Utils.OptionsLayoutBase.FullLayout);
//gridView1.DataSource=DataSet2
}
代码很简单,但我当时犯了个错误没有使用DevExpress.Utils.OptionsLayoutBase.FullLayout选项,导致死活列头加载不正常
当然我们也可以利用窗体关闭时的事件保存所需要的表格属性【方法:SaveLayoutToXml()】,然后在窗体加载时采用【RestoreLayoutFromXml()】方法来加载用户的配置