简体   繁体   English

如何设置DataGridView的列名?

[英]How to set column name for DataGridView?

I need to convert some data from a list of string and put it to datagrid, by using datatable. 我需要通过使用数据表将字符串列表中的某些数据转换为datagrid。

I tried some code from 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;
         }
     }
 }

It was solved my problem but how can I modify or add custom header text the column title? 它解决了我的问题,但是如何修改或添加自定义标题文本到列标题?

you can do that after lines: 您可以在下一行之后执行此操作:

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

set header 设置标题

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

For example: 例如:

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

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM