【问题标题】:how to set index of each column manually in datagridview after binding data in winforms?在winforms中绑定数据后如何在datagridview中手动设置每列的索引?
【发布时间】:2011-10-24 14:36:34
【问题描述】:

添加动态数据的代码

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; 
}

我使用属性向数据网格添加了两个按钮。这里的输出是:两个按钮显示在索引 [0],[1] 并且数据显示在最后一列,我需要在索引处显示数据[ 0] 位置然后是两个按钮。如何手动设置索引。

【问题讨论】:

    标签: c# winforms datagridview dataset indexing


    【解决方案1】:

    要更改列在 DataGridView 中的位置,请将 DataGridViewColumn 的 DisplayIndex 属性设置为所需的值:

    dataGridView1.Columns[2].DisplayIndex = 0;
    

    此代码将 DGV 的第三列更改为第一列的位置。

    请注意,您无需更改 DataTable 中的列,更改 DataGridView 中列的顺序不会影响 DataTable 的架构。

    【讨论】:

      【解决方案2】:

      从表单设计器中添加新的DataGridViewTextBoxColumn 并将其移动到最顶部位置或您希望在其中显示此列的任何位置,然后在此DataGridViewTextBoxColumn 的属性中将DataPropertyName 设置为您的列名称,从你的代码中,我可以看到是Title,就是这样,编译,运行,它应该在按钮列之前显示文本列......我已经为你附上了截图,我希望它会解决你的问题...

      【讨论】:

      • 感谢您的回复,先生。是的,先生,现在运行良好。感谢您的帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      相关资源
      最近更新 更多