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;
    }

问题是 listadasalvarenull。在表单加载事件中,var telefonia = new BindingList<Rubrica>(); 是一个 BindingList<Rubrica>,它用作网格的 DataSource。因此,当代码将其转换为 List<Rubrica> 在按钮单击时,它将 return null。试试…

var listadasalvare = dataGridView1.DataSource as BindingList<Rubrica>;