【问题标题】:How to set column name for DataGridView?如何为 DataGridView 设置列名?
【发布时间】:2015-04-16 16:33:57
【问题描述】:

我需要使用 datatable 将字符串列表中的一些数据转换为数据网格。

我尝试了this website的一些代码:

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private void Form1_Load(object sender, EventArgs e)
        {
            // Example list.
            List<string[]> list = new List<string[]>();
            list.Add(new string[] { "Column 1", "Column 2", "Column 3" });
            list.Add(new string[] { "Row 2", "Row 2" });
            list.Add(new string[] { "Row 3" });

            // Convert to DataTable.
            DataTable table = ConvertListToDataTable(list);
            dataGridView1.DataSource = table;
        }

        static DataTable ConvertListToDataTable(List<string[]> list)
        {
             // New table.
             DataTable table = new DataTable();

             // Get max columns.
             int columns = 0;
             foreach (var array in list)
             {
                 if (array.Length > columns)
                 {
                      columns = array.Length;
                 }
             }

             // Add columns.
             for (int i = 0; i < columns; i++)
             {
                 table.Columns.Add();
             }

             // Add rows.
             foreach (var array in list)
             {
                  table.Rows.Add(array);
             }

             return table;
         }
     }
 }

解决了我的问题,但如何修改或添加自定义标题文本列标题?

【问题讨论】:

    标签: c# winforms datagridview datatable


    【解决方案1】:

    你可以在行后这样做:

    // Convert to DataTable.
    DataTable table = ConvertListToDataTable(list);
    dataGridView1.DataSource = table;
    

    设置标题

    dataGridView1.Columns["ColumnName"].HeaderText = "Header";
    

    【讨论】:

    • 我需要定义自己的ColumnName吗?
    • 您有“Column 1”、“Column 2”等。将它们替换为“ColumnName”并设置适当的标题而不是“Header”
    【解决方案2】:
    dataGridView1.Columns["ColumnName"].Name = "Name";
    

    例如:

    dgvE.Columns[0].Name = "Dsomething";
    dgvEditShift.Columns[1].Name = "Dsomething";
    

    【讨论】:

      【解决方案3】:

      添加列时,您可以通过这种方式指定名称和标题:

      table.Columns.Add("Name", "Header");
      

      【讨论】:

        猜你喜欢
        • 2011-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-29
        相关资源
        最近更新 更多