我这样填充DataGridView:
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.MARKETConnectionString))
{
conn.Open();
String SQL = @"select INN, Idx, Adr, 'P' as Src from AdrP where Idx is null
union all
select INN, Idx, Adr, 'K' as Src from AdrK where Idx is null";
SqlCommand cmd = new SqlCommand(SQL, conn);
var RD = cmd.ExecuteReader();
if (RD.HasRows) dt.Load(RD);
dataGridView2.DataSource = dt;
}
但是 DataGridView 不会通过双击进入编辑模式。如果我在 SQL 查询中删除 'Union All'
,则双击可以正常工作(在编辑模式下切换 DataGridView)。但我需要使用 Union 从两个表中进行选择。
我尝试在 DataGridView DoubleClick 事件中调用 dataGridView2.BeginEdit(true)
。但这没有帮助。
使用从两个表中选择的数据源来编辑 DataGridView 的正确方法是什么?
最佳答案
在这种情况下不要使用 DataReader。使用适配器代替:
using (SqlDataAdapter adp = new SqlDataAdapter(SQL, conn)) {
adp.Fill(dt);
}
关于c# - DataGridView 不进入编辑模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21091590/