多选行datagridview并插入表中

时间:2013-11-04 21:45:12

标签: c# winforms linq-to-sql datagridview

我有一个使用以下内容填充的datagridvie:

        private void txtStreet_Leave(object sender, EventArgs e)
    {
        DataClasses1DataContext db = new DataClasses1DataContext();


        var groups = (from c in db.GetTable<locality>()
                      where c.Number.Contains(txtNum.Text)
                      && c.street.Contains(txtStreet.Text)
                      select new { c.Number, c.street, c.LienNumber, c.LienType, c.Amount  } );

        dataGridView1.DataSource = groups;
    }

然后我需要能够多选择符合我标准的记录,然后将它们添加到表中。我已经开始使用下面的代码。我的问题是从所选行中提取值,然后用行更新正确的表。使用列表的路线是错误的吗?

    public void btnAddLocs_Click(object sender, EventArgs e)
    {
        List<DataGridViewRow> rowCollection = new List<DataGridViewRow>();

        foreach (DataGridViewRow row in dataGridView1.SelectedRows)
        {
            DataClasses1DataContext db = new DataClasses1DataContext();

            MuniLien newlien = new MuniLien();
            newlien.CaseNumberKey = _owner.caseNumberKeyTextBox.Text;
            newlien.LienAmt = 
            newlien.LienDate = 
            newlien.LienReason = 
            newlien.LienNumber = 
            db.MuniLiens.InsertOnSubmit(newlien);
            db.SubmitChanges();
        }
    }

1 个答案:

答案 0 :(得分:1)

我认为使用DataGridRowCollection是一种更好的方法(DataGrid.Rows属性就是这种类型)。

所以你只需要将一个DataGridRow添加到行列表中,这就是所有行和它的完全foreach功能。 结帐http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrowcollection(v=vs.110).aspx 希望这有帮助!