我正在C#
(visual studio 2008
)和sql server 2008
我使用“选择”来显示DataGrid
:
SqlCeDataAdapter da = new SqlCeDataAdapter("SELECT * FROM DATOST", conn);
da.Fill(ds, "DATOST");
dtgLista.DataSource = ds.Tables[0].DefaultView;
它显示的内容类似于this
我要做的是添加一个单词remove
的新列,当它被选中时删除该行。
我尝试了this
---还有更多我不能写的链接,因为我需要至少10个声望才能发布超过2个链接---
但是我的应用无效
请问更容易吗?
谢谢
答案 0 :(得分:1)
Compact Framework,在Windows Mobile上运行的.net运行时,不支持数据网格中的按钮或其他元素。默认情况下仅支持EditBox。
关于如何在stackoverflow处将按钮或checkBox添加到紧凑框架数据网格中已有问题和答案:
How to add a button to a compact framework DataGrid?
Attach button to column datagrid in C# Compact Framework .Net 2.0
和
display images in datagrid with Compact Framework
解决方案是为数据中心添加自定义绘制处理程序。
还有一些商业扩展数据网格控件可用,它们不仅支持EditBox:例如Resco SmartDrid控件:article在codeproject。我相信还有其他供应商。只需使用互联网搜索“紧凑框架数据网格添加按钮”。
答案 1 :(得分:-1)
您可以将删除按钮添加到datagridview
SqlCeDataAdapter da = new SqlCeDataAdapter("SELECT * FROM DATOST", conn);
da.Fill(ds, "DATOST");
DataGridViewButtonColumn col = new DataGridViewButtonColumn();
col.UseColumnTextForButtonValue = true;
col.Text = "REmove";
col.Name = "MyButton";
dataGridView1.Columns.Add(col);
dtgLista.DataSource = ds.Tables[0].DefaultView;
this.dataGridView1.CellContentClick += new DataGridViewCellEventHandler(this.CellContentClick);
然后编写事件处理程序以删除所选行
private void CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//make sure click not on header and column is type of ButtonColumn
if (e.RowIndex >= 0 && ((DataGridView)sender).Columns[e.ColumnIndex].GetType() == typeof(DataGridViewButtonColumn))
{
dataGridView1.Rows.RemoveAt(e.RowIndex);
}
}