【发布时间】:2021-06-30 08:48:04
【问题描述】:
当我尝试将新行添加到我的 DataGrideView 时遇到此问题:
public List<PrefModel> GetPerfLog()
{
try
{
List<PerfModelList> objects = File.ReadAllLines($"D:\\PrefLog.json")
.Select(line => JsonConvert.DeserializeObject<PerfModelList>(line))
.ToList();
var perf = from PerfModelList perflist in objects select perflist.FlogDetail;
return perf.ToList();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
private void Form1_Load(object sender, EventArgs e)
{
dgvPerformance.DataSource = _readingLogFiles.GetPerfLog();
}
private void fileSystemWatcher1_Changed(object sender, FileSystemEventArgs e)
{
if (e.ChangeType != WatcherChangeTypes.Changed)
{
return;
}
dgvPerformance.Rows.Add(_readingLogFiles.GetlastPerfLog());
}
【问题讨论】:
-
您的
PropertyGrid的AutoGenerateColumns属性的值是多少?您需要将其设置为false才能手动管理列。另请注意,您还需要手动将每一列绑定到数据源的属性。 -
您应该将该行添加到数据源
-
我尝试这种方式但不起作用(Sam 问题):- DataGridViewRow row = (DataGridViewRow)dgvPerformance.Rows[length].Clone(); row.Cells[0].Value = pref.CustomerId; row.Cells[1].Value = pref.CustomerName; dgvPerformance.DataSource= 行; @Serg
标签: c# .net datagridview windows-forms-designer