我需要通过使用数据表来转换字符串列表中的一些数据并将其放到datagrid中。
我尝试了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;
}
}
}
解决了我的问题,但如何修改或添加列标题的自定义标题文本?
答案 0 :(得分:1)
你可以在行之后做到:
// Convert to DataTable.
DataTable table = ConvertListToDataTable(list);
dataGridView1.DataSource = table;
设置标题
dataGridView1.Columns["ColumnName"].HeaderText = "Header";
答案 1 :(得分:1)
dataGridView1.Columns["ColumnName"].Name = "Name";
例如:
dgvE.Columns[0].Name = "Dsomething";
dgvEditShift.Columns[1].Name = "Dsomething";
答案 2 :(得分:0)
添加列时,您可以通过以下方式指定名称和标题:
table.Columns.Add("Name", "Header");