C# 如何从列表中放置数据<;字符串[]>;到dataGridView
尝试将列表中的一些数据放入dataGridView,但有一些问题 目前有方法,返回我所需的列表-请参阅下面的图片 代码 但结果出现了错误——“需要在dataGridVIew中存在更多的行”,但根据我看到的(上图),行的q-ty(4)等于列表(4)中数组元素的q-ty 尝试通过添加额外的温度变量来检查结果-但没关系-请参见下面的图片 我错在哪里?也许我使用dataGridView的方式不正确 编辑 文件示例(简单csv) 11111,作者、姓名、类别C# 如何从列表中放置数据<;字符串[]>;到dataGridView,c#,.net,winforms,list,datagridview,C#,.net,Winforms,List,Datagridview,尝试将列表中的一些数据放入dataGridView,但有一些问题 目前有方法,返回我所需的列表-请参阅下面的图片 代码 但结果出现了错误——“需要在dataGridVIew中存在更多的行”,但根据我看到的(上图),行的q-ty(4)等于列表(4)中数组元素的q-ty 尝试通过添加额外的温度变量来检查结果-但没关系-请参见下面的图片 我错在哪里?也许我使用dataGridView的方式不正确 编辑 文件示例(简单csv) 11111,作者、姓名、类别 11341,Author1,Name1,Ca
11341,Author1,Name1,Categories1我觉得你的代码太复杂了。简单地说,如果希望从文件中查看表中的所有数据,可以这样做
if (!System.IO.File.Exists("file.txt"))
return;
dgvDataGridView.ColumnCount = 4;
dgvDataGridView.Columns[0].HeaderCell.Value = "ID";
dgvDataGridView.Columns[1].HeaderCell.Value = "Author";
dgvDataGridView.Columns[2].HeaderCell.Value = "Caption";
dgvDataGridView.Columns[3].HeaderCell.Value = "Categories";
using (System.IO.StreamReader sr = new System.IO.StreamReader("file.txt"))
while (sr.Peek() > -1)
dgvDataGridView.Rows.Add(sr.ReadLine().Split(','));
我觉得你的代码太复杂了。简单地说,如果希望从文件中查看表中的所有数据,可以这样做
if (!System.IO.File.Exists("file.txt"))
return;
dgvDataGridView.ColumnCount = 4;
dgvDataGridView.Columns[0].HeaderCell.Value = "ID";
dgvDataGridView.Columns[1].HeaderCell.Value = "Author";
dgvDataGridView.Columns[2].HeaderCell.Value = "Caption";
dgvDataGridView.Columns[3].HeaderCell.Value = "Categories";
using (System.IO.StreamReader sr = new System.IO.StreamReader("file.txt"))
while (sr.Peek() > -1)
dgvDataGridView.Rows.Add(sr.ReadLine().Split(','));
我觉得你的代码太复杂了。简单地说,如果希望从文件中查看表中的所有数据,可以这样做
if (!System.IO.File.Exists("file.txt"))
return;
dgvDataGridView.ColumnCount = 4;
dgvDataGridView.Columns[0].HeaderCell.Value = "ID";
dgvDataGridView.Columns[1].HeaderCell.Value = "Author";
dgvDataGridView.Columns[2].HeaderCell.Value = "Caption";
dgvDataGridView.Columns[3].HeaderCell.Value = "Categories";
using (System.IO.StreamReader sr = new System.IO.StreamReader("file.txt"))
while (sr.Peek() > -1)
dgvDataGridView.Rows.Add(sr.ReadLine().Split(','));
我觉得你的代码太复杂了。简单地说,如果希望从文件中查看表中的所有数据,可以这样做
if (!System.IO.File.Exists("file.txt"))
return;
dgvDataGridView.ColumnCount = 4;
dgvDataGridView.Columns[0].HeaderCell.Value = "ID";
dgvDataGridView.Columns[1].HeaderCell.Value = "Author";
dgvDataGridView.Columns[2].HeaderCell.Value = "Caption";
dgvDataGridView.Columns[3].HeaderCell.Value = "Categories";
using (System.IO.StreamReader sr = new System.IO.StreamReader("file.txt"))
while (sr.Peek() > -1)
dgvDataGridView.Rows.Add(sr.ReadLine().Split(','));
在添加行之前,您需要先将列添加到数据表中:
private void radioButtonViewAll_CheckedChanged(object sender, EventArgs e)
{
TxtLibrary myList = new TxtLibrary(filePathBooks);
myList.chooise = "all";
DataTable table = new DataTable();
//add columns first
table.Columns.Add("ID");
table.Columns.Add("Author");
table.Columns.Add("Caption");
table.Columns.Add("Categories");
//then add rows
foreach (var array in myList.ReadFromFileBooks()) {
table.Rows.Add(array);
}
dataGridViewLibrary.DataSource = table;
}
在添加行之前,您需要先将列添加到数据表中:
private void radioButtonViewAll_CheckedChanged(object sender, EventArgs e)
{
TxtLibrary myList = new TxtLibrary(filePathBooks);
myList.chooise = "all";
DataTable table = new DataTable();
//add columns first
table.Columns.Add("ID");
table.Columns.Add("Author");
table.Columns.Add("Caption");
table.Columns.Add("Categories");
//then add rows
foreach (var array in myList.ReadFromFileBooks()) {
table.Rows.Add(array);
}
dataGridViewLibrary.DataSource = table;
}
在添加行之前,您需要先将列添加到数据表中:
private void radioButtonViewAll_CheckedChanged(object sender, EventArgs e)
{
TxtLibrary myList = new TxtLibrary(filePathBooks);
myList.chooise = "all";
DataTable table = new DataTable();
//add columns first
table.Columns.Add("ID");
table.Columns.Add("Author");
table.Columns.Add("Caption");
table.Columns.Add("Categories");
//then add rows
foreach (var array in myList.ReadFromFileBooks()) {
table.Rows.Add(array);
}
dataGridViewLibrary.DataSource = table;
}
在添加行之前,您需要先将列添加到数据表中:
private void radioButtonViewAll_CheckedChanged(object sender, EventArgs e)
{
TxtLibrary myList = new TxtLibrary(filePathBooks);
myList.chooise = "all";
DataTable table = new DataTable();
//add columns first
table.Columns.Add("ID");
table.Columns.Add("Author");
table.Columns.Add("Caption");
table.Columns.Add("Categories");
//then add rows
foreach (var array in myList.ReadFromFileBooks()) {
table.Rows.Add(array);
}
dataGridViewLibrary.DataSource = table;
}
它的工作非常完美,所以我无法理解dataGridView的结构不能与部分配置的数据源一起使用?或者存在这样做的方法?意思是如果我在FormConstructor中创建列,我可以在代码中只创建行吗?或者无论如何,我必须在代码中创建列吗?@Kirill问题是,在向数据表添加行之前,它必须至少有一列,换句话说,在添加行之前,它应该先有一些表结构。您不需要手动将列添加到
DataGridView
中,当您分配dataGridViewLibrary.DataSource=table
时,您的Gridview
将自动生成相应的列(AutoGenerateColumns=true)。@Kirill如果答案解决了您的问题,您应该点击V形勾号来接受答案,这将是您最好的感谢…它的工作非常完美,因此我无法理解dataGridView的结构不能与部分配置的数据源一起使用?或者存在这样做的方法?意思是如果我在FormConstructor中创建列,我可以在代码中只创建行吗?或者无论如何,我必须在代码中创建列吗?@Kirill问题是,在向数据表添加行之前,它必须至少有一列,换句话说,在添加行之前,它应该先有一些表结构。您不需要手动将列添加到DataGridView
中,当您分配dataGridViewLibrary.DataSource=table
时,您的Gridview
将自动生成相应的列(AutoGenerateColumns=true)。@Kirill如果答案解决了您的问题,您应该点击V形勾号来接受答案,这将是您最好的感谢…它的工作非常完美,因此我无法理解dataGridView的结构不能与部分配置的数据源一起使用?或者存在这样做的方法?意思是如果我在FormConstructor中创建列,我可以在代码中只创建行吗?或者无论如何,我必须在代码中创建列吗?@Kirill问题是,在向数据表添加行之前,它必须至少有一列,换句话说,在添加行之前,它应该先有一些表结构。您不需要手动将列添加到DataGridView
中,当您分配dataGridViewLibrary.DataSource=table
时,您的Gridview
将自动生成相应的列(AutoGenerateColumns=true)。@Kirill如果答案解决了您的问题,您应该点击V形勾号来接受答案,这将是您最好的感谢…它的工作非常完美,因此我无法理解dataGridView的结构不能与部分配置的数据源一起使用?或者存在这样做的方法?意思是如果我在FormConstructor中创建列,我可以在代码中只创建行吗?或者无论如何,我必须在代码中创建列吗?@Kirill问题是,在向数据表添加行之前,它必须至少有一列,换句话说,在添加行之前,它应该先有一些表结构。您不需要手动将列添加到DataGridView
中,当您分配dataGridViewLibrary.DataSource=table
时,您的Gridview
将自动生成相应的列(AutoGenerateColumns=true)。@Kirill如果答案解决了您的问题,你应该点击V形的勾号来接受答案,这将是你最好的感谢。。。