将列表传递给另一个表单,但无法从中获取值

时间:2019-02-13 07:22:38

标签: c# winforms

我正在将列表传递给另一种形式,但是我无法获取Form的索引。

我尝试使用LINQ,但是它不起作用。我可以看到传递的列表的ID和名称,但无法提取ID!

private void btnWeiter_Click(object sender, EventArgs e)
{
    ListData data = new ListData();
    int id = data.id;
    var abc=lookUpEditMain.GetSelectedDataRow();
    List<object> list = new List<object>();
    list.Add(abc);
    frmBudget frm = new frmBudget(list,id);
    frm.Show();
}

Form1中!
Form2中,我有:

public frmBudget(List<object> liste, int id)
{
    InitializeComponent();

    list = liste;

    test();
}

我实际上是在通过列表,也已正确填写。我有索引0,其中存储了ID和名称。

当我尝试通过以下方式获取ID

var ids = list[0]; 

我并不仅获得所需的ID:

string query = string.Format("Select id,name from x where y in ({0})", string.Join(",", ids));

希望您能帮助我。

基本:
我只需要从form1的lookupedit中提取id并将其提供给form2。因此,form2将在lookupedit中向我显示正确的内容。

1 个答案:

答案 0 :(得分:0)

仅使用属性即可将数据从Form1传递到Form2

Form1

unstash

Form2

    private void btnWeiter_Click(object sender, EventArgs e)
    {
        using (Form2 frm = new Form2())
        {
            List<object> list = new List<object>();
            // Pass the list to the Form2 property
            frm.listFromForm1 = list;
            // Open Form2
            frm.Show();
        }
    }