0
我已经创建了一个嵌套关系的datagridview,它列出了一个事件及其每行的活动。这通过使用的DevExpress:列据说是空的,而他们真的不是C#WinForms
我的问题是,是,我没有权利列访问的。
这意味着我无法通过NullReferenceException
设置隐藏列,列宽等。
这是我的代码,我使用:
private void DisplayData()
{
conn = new SqlConnection("Server=.\\SQLEXPRESS;Database=Ticketing;Integrated Security=true");
daIncidents = new SqlDataAdapter("Select * from incidents", conn);
daActivities = new SqlDataAdapter("Select * from Activity", conn);
ds = new DataSet();
daIncidents.Fill(ds, "Incidents");
daActivities.Fill(ds, "Activities");
DataColumn keyColumn = ds.Tables["Incidents"].Columns["IncidentID"];
DataColumn foreignKeyColumn = ds.Tables["Activities"].Columns["IncidentID"];
ds.Relations.Add("IncidentsActivities", keyColumn, foreignKeyColumn);
gridControl.DataSource = ds.Tables["Incidents"];
gridControl.ForceInitialize();
GridView gridView = new GridView(gridControl);
gridControl.LevelTree.Nodes.Add("IncidentsActivities", gridView);
gridView.ViewCaption = "Activities";
//gridView.Columns["ActivityID"].ReadOnly = true;
//gridView.Columns["Description"].Width = 40;
}
为什么它说,该字段为空,如果他们真的都没有?我曾尝试使用int
作为索引,但同样的问题。
哪条线抛出异常? – mjwills
评论的最后一行 –
如果你在最后一个'}上放置一个断点,然后调试它(所以它在断点处断开),然后在你的'Immediate'窗口中键入'?gridView.Columns',你会怎么做?看到? – mjwills