C# 绑定列表为我保存 json 中的空值
C# A bindinglist saves me the null value in json
当我保存 json 文件时,我只保存了一个空值,为什么?
我想查看我的数据网格视图并在其中添加一些行,然后我想将 table 保存在文件
中
private void btn_Salva_Click(object sender, EventArgs e)
{
var listadasalvare = dataGridView1.DataSource as List<Rubrica>;
var listaJson = JsonConvert.SerializeObject(listadasalvare);
// indico direttamente il percorso senza richiamare la finestra
// di salvataggio
var path = @"D:\OneDrive\Corso di c# informatica\Rubricajsonformato.txt";
File.WriteAllText(path, listaJson);
}
private void Form1_Load(object sender, EventArgs e)
{
var formcreate = ClientiDataManager.GetClienti();
var telefonia = new BindingList<Rubrica>();
foreach (var campo in formcreate)
{
var nuovatelefonia = new Rubrica();
nuovatelefonia.IdScheda = campo.IdScheda;
nuovatelefonia.Intestatario = campo.Intestatario;
nuovatelefonia.NumeroTelefono = campo.NumeroTelefono;
nuovatelefonia.Scadenza = campo.Scadenza;
telefonia.Add(nuovatelefonia);
}
dataGridView1.DataSource = telefonia;
}
问题是 listadasalvare
是 null
。在表单加载事件中,var telefonia = new BindingList<Rubrica>();
是一个 BindingList<Rubrica>
,它用作网格的 DataSource
。因此,当代码将其转换为 List<Rubrica>
在按钮单击时,它将 return null
。试试…
var listadasalvare = dataGridView1.DataSource as BindingList<Rubrica>;
当我保存 json 文件时,我只保存了一个空值,为什么? 我想查看我的数据网格视图并在其中添加一些行,然后我想将 table 保存在文件
中 private void btn_Salva_Click(object sender, EventArgs e)
{
var listadasalvare = dataGridView1.DataSource as List<Rubrica>;
var listaJson = JsonConvert.SerializeObject(listadasalvare);
// indico direttamente il percorso senza richiamare la finestra
// di salvataggio
var path = @"D:\OneDrive\Corso di c# informatica\Rubricajsonformato.txt";
File.WriteAllText(path, listaJson);
}
private void Form1_Load(object sender, EventArgs e)
{
var formcreate = ClientiDataManager.GetClienti();
var telefonia = new BindingList<Rubrica>();
foreach (var campo in formcreate)
{
var nuovatelefonia = new Rubrica();
nuovatelefonia.IdScheda = campo.IdScheda;
nuovatelefonia.Intestatario = campo.Intestatario;
nuovatelefonia.NumeroTelefono = campo.NumeroTelefono;
nuovatelefonia.Scadenza = campo.Scadenza;
telefonia.Add(nuovatelefonia);
}
dataGridView1.DataSource = telefonia;
}
问题是 listadasalvare
是 null
。在表单加载事件中,var telefonia = new BindingList<Rubrica>();
是一个 BindingList<Rubrica>
,它用作网格的 DataSource
。因此,当代码将其转换为 List<Rubrica>
在按钮单击时,它将 return null
。试试…
var listadasalvare = dataGridView1.DataSource as BindingList<Rubrica>;