c# - datagridview 数据列表,然后将列表框绑定(bind)到列表,不起作用?

标签 c# list datagridview

我不知道这里有什么问题,所以 listBox 是空的,而不是里面有一个列表?(可能很容易解决,但我自己还不能解决)

public List<Karta> ubaciUListu()
{
      List<Karta> Lista1 = new List<Karta>();
      foreach (DataGridViewRow row in dataGridView1.Rows)
      {

          Karta k = new Karta(0,"","");
          // k.Id =(int)row.Cells[0].Value;
          k.Pojam =(string) row.Cells[1].Value;
          k.Opis = (string)row.Cells[2].Value;

          Lista1.Add(k);


      }
      return Lista1;
  }

  private void btnNovaF_Click(object sender, EventArgs e)
  {
      //ubaciUListu();
      this.Hide();
      Form2 f2 = new Form2();
      f2.ShowDialog();

  }

首先,我从 dgv 中的数据创建列表(参见此处 data in dgv) 然后我试图将 listBox 绑定(bind)到这个列表

public Form2()
    {
        InitializeComponent();
        Form1 f1 = new Form1();
        List<Karta> nova = f1.ubaciUListu();
        if(nova.Count!=0)
        { 
        lstBox.DataSource = nova;
        }
    }

希望这对检测问题有足够的帮助。谢谢!

最佳答案

当您创建 form1 的新实例时,现有列表将被清除,

 Form1 f1 = new Form1();
 List<Karta> nova = f1.ubaciUListu();

更好的方法是在打开时将其传递给第二个表单,

 Form2 f2 = new Form2(Lista1);

你的 form2 应该是,

List<Karta> nova = new List<Karta>();
public Form2(List<Karta> input)
   {  
     nova = input;
   }
}

关于c# - datagridview 数据列表,然后将列表框绑定(bind)到列表,不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42750651/

相关文章:

java - 在不覆盖哈希方法的情况下删除重复项

c# - 从 DataGridView WinForms 中删除蓝色行

C# - DataGridView - 从另一个数据库表中读取一列?

c# - 运算符 '<' 不能应用于类型 'long' 和 'ulong' 的操作数

Python DataFrame - 删除列值属于值列表的行

c# - 连接到 TCP 服务器无法获得响应

python - 在有条件的循环中列出索引超出范围

c# - 在 DataGridview C# 中打印 Csv 数据而不使用 olehDBconnect

javascript - 获取按钮上的 div 的 id 单击 div 包含该按钮的位置

c# - 如何从 .aspx 中读取用户输入并将其存储在 .aspx.cs 中的 SQL Server 数据库中