DataTable/DataGridView 行号显示
DataTable/DataGridView Row Number Display
我想在我的 DataGridView
的第一个专栏中显示,但没有找到好的解决方案。我尝试向 DGV 添加一个新列,但它崩溃了..
List<string[]> rows = File.ReadAllLines(Open_CSV.FileName,
Encoding.ASCII).Select(x => x.Split(';')).ToList();
DataTable dt = new DataTable();
foreach (string s in rows[0])
{
dt.Columns.Add(s);
}
rows.RemoveAt(0);
rows.ForEach(x =>
{
dt.Rows.Add(x);
});
DGV_DATA.DataSource = dt;
你有什么解决方案,最好的地方是添加 DataTable
或 DataGridView
吗?
不确定它是否非常有效,但这可以解决问题
List<string[]> rows = File.ReadAllLines(......)
.Select((x,i) =>
string.Join(";", (i+1).ToString(), x)
.Split(';')).ToList();
您可以使用 Select 的版本,它使用序列中当前项目的索引器,并将该索引添加到将被拆分的字符串中。
我担心的是这样一个事实,即您以这种方式构建了一个额外的字符串,但是您不需要更改以下代码中的任何内容。
使用 DataSource
时,手动添加数据可能会出现问题,如您所见。在DataSource
中加上一个row-number显然不是一个好主意,只要数字不属于数据即可。在这种情况下,一种想法是在 row-header 中显示数字,如 here.
所述
在您自己构建数据源的情况下,您可能会考虑离开使用 DataSource-Property 的路径并开始直接添加行。
DataGridView
的Rows
-属性可以用来手动添加行。您只需要构建类似于 DataGridViewRow
-objects 的列表,您可以将其传递给 AddRange
方法。对于这些 DataGridViewRows
,您可以添加附加列。并确保将该附加列也添加到 DataGridView
.
的 Columns
-Collection
我想在我的 DataGridView
的第一个专栏中显示,但没有找到好的解决方案。我尝试向 DGV 添加一个新列,但它崩溃了..
List<string[]> rows = File.ReadAllLines(Open_CSV.FileName,
Encoding.ASCII).Select(x => x.Split(';')).ToList();
DataTable dt = new DataTable();
foreach (string s in rows[0])
{
dt.Columns.Add(s);
}
rows.RemoveAt(0);
rows.ForEach(x =>
{
dt.Rows.Add(x);
});
DGV_DATA.DataSource = dt;
你有什么解决方案,最好的地方是添加 DataTable
或 DataGridView
吗?
不确定它是否非常有效,但这可以解决问题
List<string[]> rows = File.ReadAllLines(......)
.Select((x,i) =>
string.Join(";", (i+1).ToString(), x)
.Split(';')).ToList();
您可以使用 Select 的版本,它使用序列中当前项目的索引器,并将该索引添加到将被拆分的字符串中。
我担心的是这样一个事实,即您以这种方式构建了一个额外的字符串,但是您不需要更改以下代码中的任何内容。
使用 DataSource
时,手动添加数据可能会出现问题,如您所见。在DataSource
中加上一个row-number显然不是一个好主意,只要数字不属于数据即可。在这种情况下,一种想法是在 row-header 中显示数字,如 here.
在您自己构建数据源的情况下,您可能会考虑离开使用 DataSource-Property 的路径并开始直接添加行。
DataGridView
的Rows
-属性可以用来手动添加行。您只需要构建类似于 DataGridViewRow
-objects 的列表,您可以将其传递给 AddRange
方法。对于这些 DataGridViewRows
,您可以添加附加列。并确保将该附加列也添加到 DataGridView
.
Columns
-Collection