我有一个使用以下内容填充的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();
}
}
答案 0 :(得分:1)
我认为使用DataGridRowCollection是一种更好的方法(DataGrid.Rows属性就是这种类型)。
所以你只需要将一个DataGridRow添加到行列表中,这就是所有行和它的完全foreach功能。 结帐http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrowcollection(v=vs.110).aspx 希望这有帮助!