【发布时间】:2015-04-14 06:54:56
【问题描述】:
我的表单中几乎没有 DataGrid,我的数据源是 CSV 文件,我已经在其中设置了要显示的列。简而言之,当我选择新建项目时,CSV 文件将从默认位置加载,并显示一个带有空行和列名的网格。 现在我要做的是为第 1 列添加一个下拉列表(组合框)控件,如果是空网格,则保持为空,如果是带有数据的 CSV 文件,则动态显示数据,但我不知道该怎么做它。我从未在网格中添加组合框。包括 MSDN 在内的所有示例都令人困惑。 我是新手,非常欢迎明确的答案。 这是代码,我如何加载 CSV 数据
string[] strColumns = null;
string[] strData = null;
StreamReader sr = new StreamReader(strCSV);
DataTable dt = null;
int RowCount = 0;
while (!sr.EndOfStream)
{
String strRow = sr.ReadLine().Trim();
if (strRow.Length > 0)
{
strData = strRow.Split(delimter);
if (RowCount == 0)
{
RowCount = 1;
strColumns = strRow.Split(delimter);
dt = new DataTable();
foreach (string csvcolumn in strColumns)
{
DataColumn column = new DataColumn(csvcolumn.ToUpper(), typeof(string));
column.DefaultValue = string.Empty;
dt.Columns.Add(column);
}
}
else
{
DataRow row = dt.NewRow();
for (int i = 0; i < strColumns.Length; i++)
{
row[strColumns[i]] = strData[i] == null ? string.Empty : strData[i].ToString();
}
dt.Rows.Add(row);
}
}
}
sr.Close();
sr.Dispose();
return dt;
【问题讨论】:
-
我不清楚你想要实现什么。您要添加
DataGridViewComboBoxColumns还是ComboBox(在DataGridView 之外)? -
@stefankmitph 我想添加 DataGridViewComboBoxCell ,其中 ColumnIndex == 1
标签: c# winforms csv datagridview combobox