添加第一个新的DataGridView行不会更新DataSource

时间:2015-02-22 13:53:17

标签: c# winforms datagridview csvhelper

当我向DataGridView添加新行时,该行不会保存到DataView或DataTable。但是当我在那之后添加另一行时,会添加该行。第一个新行完全被忽略。我不知道为什么。请帮忙。

private string _filePath;
private DataTable _dataTable;
private DataView _defaultView;

public StringRecords(string fileName)
{
    InitializeComponent();

    _dataTable = FileManager.Populate(filePath);
    _dataTable.TableName = filePath;
    _defaultView = new DataView(_dataTable);
    dataGridRecords.DataSource = _defaultView;
}

private void dataGridRecords_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    FileManager.SaveDataTableToCsv(_dataTable, filePath);
}

public static void SaveDataTableToCsv(DataTable source, string fileName)
{
    using (var stream = new StreamWriter(fileName, false))
    {
        var config = new CsvConfiguration { Delimiter = "|", HasHeaderRecord = false };
        using (var writer = new CsvWriter(stream, config))
        {
            var records = ToStringRecordList(source);

            writer.WriteRecords(records);
        }
    }
}

添加第一个新行仅生成此调试输出:

Loaded 'Anonymously Hosted DynamicMethods Assembly'.

我已经转储了DataTable和DataView对象。第一个新行未添加到任一对象。

我做错了什么?或者我怎样才能知道第一个新行发生了什么?

0 个答案:

没有答案
相关问题