В форме окна у меня есть два несвязанных столбца представления таблицы данных, каждый из которых имеет свой собственный заголовок, и я пытаюсь прочитать файл CSV в таблице данных и привязать его к таблице.
Только я не знаю, какая логика задействована. Я не знаю, как связать данные с 2 столбцами представления сетки данных. Существует множество примеров того, как привязать данные CSV к представлению таблицы, но они имеют дело с заголовками, которые считываются из файла, а не с несвязанными, за исключением этого, но это с asp. Программно отображать данные в столбце вида сетки
Вот данные из файла CSV.
Address,76 Douglas St Wakecorn
Property name,Wakecorn University
Building,C Block
Room,C2.18
Вот код для класса, который его читает.
public class Setting
{
private DataTable _dt { get; set; }
public DataTable ProcessSettingFileCMD(string filePath)
{
if (_dt == null)
{
populateControlWithCSVData(filePath);
}
}
private void populateControlWithCSVData(string filePath)
{
_dt = new DataTable();
string[] lines = File.ReadAllLines(filePath);
if(lines.Length > 0)
{
for(int row = 1; row < lines.Length; row++)
{
string[] dataWords = lines[row].Split(',');
DataRow dr = _dt.NewRow();
foreach (string word in lines)
{
dr[word] = dataWords[row++];
}
_dt.Rows.Add(dr);
}
}
}
}
Вот форма
private void mnuOpen_Click(object sender, EventArgs e)
{
openFD.InitialDirectory = "C:\\";
openFD.ShowDialog();
_dt = _objSetting.ProcessSettingFileCMD(openFD.FileName);
if (_dt.Rows.Count > 0)
{
gvSettings.DataSource = _dt;
}
}
Возвращаемая ошибка здесь dr[word] = dataWords[row++];
System.ArgumentException: адрес столбца, 76 Douglas St Wakecorn '
не относится к таблице.