我对“不可删除的”DataTable有疑问。
第1步:创建DataTable
DataTable dt = dtProgPoints_Template.Clone(); //Create table
dt.TableName = "Program points 0"; //Rename it
dsProgPoints.Tables.Add(dt); //Add it to DataSet
dsProgPoints.AcceptChanges(); //I found it in this forum, so I tried it
第2步:我在DataGridView中显示
dtgProgPoints.DataSource = dsProgPoints; //dtgProgPoints is my DataGridView
dtgProgPoints.DataMember = "Program points 0";
第3步:删除DataTable
dsProgPoints.Tables.Remove("Program points 0"); //Remove DataTable from dataset
ds.AcceptChanges();//I found it in this forum, so I tried it
现在,这个谜团即将到来。
如果我检查dsProgPoints.Tables.Count;
,则删除表格,表格数量小于删除前的数量。
当我再次尝试删除时,会发生异常。
但是当我尝试dtgProgPoints.DataMember = "Program points 0";
时,所有数据都显示在DataGridView中。表仍然不是DataSet中表集合的成员,因为如果我尝试读取它dsProgPoints.Tables["Program points 0"].Rows[0][0]
,则会触发异常,因为表“Program points 0”不是表集合的成员。
当我使用dsProgPoints.Tables.Add("Program points 0");
再次创建表时,会创建表。这意味着,它确实不存在于DataSet
DataGridView
看起来有问题吗?
Tahnk You,Pavel