C# 创建3级主详图栅格
我正在尝试创建一个具有3级主详细视图的gridview 我的意见应该包括:C# 创建3级主详图栅格,c#,winforms,devexpress,master-detail,C#,Winforms,Devexpress,Master Detail,我正在尝试创建一个具有3级主详细视图的gridview 我的意见应该包括: 发票 发票行 发票行详细信息 我使用以下代码: public partial class Manage_Other_Company_Invoices : DevExpress.XtraBars.Ribbon.RibbonForm { private int companyID; DataAccess_CompanyInvoice dal = new DataAccess_CompanyInvoice(
- 发票
- 发票行
- 发票行详细信息
public partial class Manage_Other_Company_Invoices : DevExpress.XtraBars.Ribbon.RibbonForm
{
private int companyID;
DataAccess_CompanyInvoice dal = new DataAccess_CompanyInvoice();
DataSet dataSet;
public Manage_Other_Company_Invoices(int companyID)
{
this.companyID = companyID;
DisplayData();
}
private DataSet GetItems()
{
dataSet = new DataSet();
dataSet.Clear();
dataSet.Tables.Add(dal.CreateInvoiceTable(companyID));
dataSet.Tables.Add(dal.CreateInvoiceLinesTable());
dataSet.Tables.Add(dal.CreateInvoiceLineDetailsTable());
DataColumn keyColumn1 = dataSet.Tables["Invoice"].Columns["invoiceID"];
DataColumn foreignKeyColumn1 = dataSet.Tables["InvoiceLines"].Columns["invoiceID"];
dataSet.Relations.Add("Invoice", keyColumn1, foreignKeyColumn1, false);
DataColumn keyColumn2 = dataSet.Tables["InvoiceLines"].Columns["company_Invoice_Line_ID"];
DataColumn foreignKeyColumn2 = dataSet.Tables["InvoiceLineDetails"].Columns["InvoiceLineID"];
dataSet.Relations.Add("InvoiceLineInvoiceLineDetails", keyColumn2, foreignKeyColumn2,false);
return dataSet;
}
private void DisplayData()
{
//MessageBox.Show("test" + GetItems().Tables["Invoice"].Rows.Count.ToString());
gridControl.DataSource = GetItems().Tables["Invoice"];
gridControl.ForceInitialize();
}
}
问题是,当我在DisplayData()
函数中将测试行从注释中取出时,它会显示该表中正确的行数。但奇怪的是,后面的行抛出了一个空引用异常
我做错了什么 我在这里看不到与DevExpress相关的内容。。。您是否尝试将
GetItems()
结果提取到局部变量中?似乎GetItems
方法是不可重入的。您是否尝试过将数据集用作GridControl的数据源?我得出结论,问题是因为GridControl在经过密集的故障排除后被视为null
。我仍然不知道如何修复这个问题,因为我完全重新创建了前端,尝试更改名称,尝试添加第二个gridcontrol,。。。但仍然不知道为什么会出现问题