我不知道这里有什么问题,所以 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/