数据网格显示一个空行数据表时是空
我有一个DataGrid
(DG1)结合一个DataTable
(DataSet.Tables)。 代码运行正常,DataGrid
正确显示DataTable
中的数据。数据网格显示一个空行数据表时是空
但是,如果我 DataTable
,DataGrid
也是明确的,但留下一个单一的空行,我不知道如何摆脱。我已经清除了DataTable。这个空行从哪里来?
SqlCeDataAdapter da = new SqlCeDataAdapter();
string sqlStr = @"SELECT * FROM FooTable";
da.SelectCommand = new SqlCeCommand(sqlStr, conn);
da.Fill(ds, "FooTable");
/* get data table reference */
dt = ds.Tables["FooTable"];
DataRow newRow = dt.NewRow();
newRow["FooName"] = "Donkey";
dt.Rows.Add(newRow);
dg1.ItemsSource = ds.Tables[0].DefaultView;
dt.Clear();
该行通常是NewItemPlaceholder,用于在绑定集合中创建新项目。您应该尝试将CanUserAddRows
设置为false
。
H.B.是正确的只是调用this.mydatagridctrl.CanUserAddRows = false;我的代码隐藏(在InitializeComponent();之后) – blindmeis 2011-04-28 08:53:32
所显示的空行,可能是由于该原因,默认情况下DataGrid中,空行是没有在最后,使用户可以添加新行。 尝试做 dataGridView1.AllowUserToAddRows = false;
@Abdul Muqtadir:正确的解释。
下面的代码会做你在找什么:
dataGridView1.AllowUserToAddRows = false;
dataGridView1.DataSource = null;
为Datagrid的你应该设置DataGrid.CanUserAddRows为false;
你是否将datagrid的allowaddrow属性设置为false? – Jonathan 2011-04-28 08:37:45
@Jonathan,我把它设置为false。仍坚持空行。奇怪。顺便说一句,allowdrop与它有什么关系..? – KMC 2011-04-28 08:40:16
他说AllowAddRow,不AllowDrop ... – 2011-04-28 08:43:55