[英]How would I show if a column in a DataGridView has data with just an X
[英]How do I get my data to show in correct DataGridView column?
我正在尝试使用从Excel导入的自定义列填充DataGridView。 这应该很容易,但是为了我的一生,我陷入了困境。 我应该能够选择特定的列(作品),将列标题发送到我的excel类,以分析该列(作品)中的数据,将解析的数据发送到列表(作品),然后将数据导入到datagridview通过将我的DataSource设置为我的列表(我正在创建列标题文本,但是代码正在创建一个名为Value的列并将其添加数据)。 这是我创建问题的代码:
private void btnCreateTable_Click(object sender, EventArgs e)
{
List<StringValue>[] listArr = new List<StringValue>[columnCount];
ExcelClass getData = new ExcelClass();
tabControl1.SelectedTab = tabDataTable;
dgv.Visible = true;
DataGridViewTextBoxColumn t = new DataGridViewTextBoxColumn();
//dgvSelectedHeaders.Columns[i].Name = selectedHeaders[i];
for (int i = 0; i < columnCount; i++)
{
//dgv[i].DataSource = getData.GetDataFromExcel(headersArr[i], path);
listArr[i] = getData.GetDataFromExcel(selectedHeaders[i], path);
t.Name = selectedHeaders[i];
t.HeaderText = selectedHeaders[i];
dgv.Columns.Add(t);
dgv.DataMember = "String";
dgv.DataSource = listArr[i];
for (int j = 0; j < getData.RowCount; j++)
{
dgv.Rows.Add();
for (int k = 0; k < getData.RowCount; k++)
{
dgv[k, j].Value = listArr[j][k].ToString();
}
}
}
如果选择多个列,则显示第一个列,但在行dgv.Columns.Add(t);的第一个列之后出现错误。 ... InvalidOperationException,提供的列已经属于DataGridView控件...我知道这是两个问题,但我认为它们以某种方式绑在一起。
预先感谢您,如果您需要更多代码,请告诉我。
我认为您需要为每列创建一个新的DataGridViewColoumn
for (int i = 0; i < columnCount; i++)
{
DataGridViewTextBoxColumn t = new DataGridViewTextBoxColumn();
// ...
dgv.Columns.Add(t);
}
而不是重复使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.