添加动态数据的代码
getdata()
{
SqlConnection con = new SqlConnection("Data source=XXXXX;Initial catalog=dummy;integrated security=true");
DataTable dt = new DataTable();
DataColumn col = new DataColumn("Title", typeof(System.String));
dt.Columns.Add(col);
DataRow row = dt.NewRow();
con.Open();
SqlCommand cmd = new SqlCommand("select Title,Description from systemtray", con);
SqlDataReader dr;
dr = cmd.ExecuteReader();
while (dr.Read())
{
string s=dr["Title"].ToString()+Environment.NewLine+dr["Description"].ToString();
row["Title"]= s.Trim();
dt.Rows.Add(row["Title"]);
}
dataGridView1.DataSource = dt;
}
然后我使用properties为datagrid添加了两个按钮。输出是:两个按钮显示在索引[0],[1],数据显示在最后一列,我需要显示索引处的数据[ 0]位置然后两个按钮。我可以手动设置索引。
答案 0 :(得分:7)
要更改列在DataGridView中的位置,请将DataGridViewColumn的DisplayIndex属性设置为所需的值:
dataGridView1.Columns[2].DisplayIndex = 0;
此代码将第三个DGV列更改为第一个列位置。
请注意,您无需更改DataTable中的列,并且更改DataGridView中列的顺序不会影响DataTable的架构。
答案 1 :(得分:2)
从表单设计器中添加新的DataGridViewTextBoxColumn
并将其移至最顶部位置或您想要显示此列的任何位置,然后在此DataGridViewTextBoxColumn
集DataPropertyName
的属性中到你的列的名称,从你的代码中,我可以看到标题,就是它,编译,运行它应该在按钮列之前显示文本列...我附上了截图对你而言,我希望它能解决你的问题...