DataGridView1 问题
我在DataGridView1中手动添加了A,B,C,D四列。在查询后设置,DataGridView1.DataSource = dt,它自动追加了A,B,C,D四列,形成了A,B,C,D,A,B,C,D
我本想它在原列中显示?我要最简单的办法 --------------------编程问答-------------------- 绑定的列名对应好了??? --------------------编程问答-------------------- DataGridView1.DataSource = dt这就可以了,datatable中的例名会自动加载到datagridview中,不需要“我在DataGridView1中手动添加了A,B,C,D四列。” --------------------编程问答-------------------- 请注意:我的前提是:在DataGridView1中手动添加了A,B,C,D四列。
如果实在不行的话我就用循环遍历了 --------------------编程问答-------------------- 要么你把原来的手动写的列删除了, 要么你把你添加的对应实体类绑定到DataGridView1列里 --------------------编程问答-------------------- 那么你可以调试追踪问题所在,如先把手动添加列语句注释掉运行看什么结果?
2013年07月15日→星座:巨蟹座
癸巳〖蛇〗己未月壬午日戊申时
二〇一三年六月初八
今属:水;五行:水火土金;缺:木;
纳音五行:长流水。 --------------------编程问答--------------------
你不想删除的话,只能一个一个的填,没有其他办法,dataset都是带表头的 --------------------编程问答-------------------- 你自己先添加了一遍然后又用程序添加了一遍,所以就都有两个了吧 --------------------编程问答-------------------- DataGridView1.AutoGenerateColumns = false; --------------------编程问答--------------------
如上图所示:
DataGridView1.AutoGenerateColumns = false;
在DataGridView1的EditColumns窗口中,设置每一列的DataPropertyName 与 查询语句中的字段对应起来。
private void GetDataTable()
{
DataTable dt = new DataTable();
try
{
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
string sql = "select name as 'A', sex as 'B', dept as 'C', remark as 'D' from users";
SqlDataAdapter adp = new SqlDataAdapter(sql, conn);
adp.Fill(dt);
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
亲测,没问题。 --------------------编程问答-------------------- 不好意思,按照图片的顺序应该是从下往上设置
补充:.NET技术 , VB.NET