将实体绑定到datagridview,并允许编辑和删除
本文关键字:编辑 删除 许编辑 绑定 实体 datagridview | 更新日期: 2023-09-27 18:20:29
我有一个数据网格视图,我想将linq查询绑定到它。
这是我的班级级别:
private readonly SuburbanPortalEntities _entities;
private List<PaymentType> _paymentTypes;
这是我加载的代码:
_paymentTypes = (from pt in _entities.PaymentTypes
where pt.CorporationId.Equals(_currentcorp.CorporationId)
select pt).ToList();
dataGridView_PaymentTypes.DataSource = _paymentTypes;
这是我的插页,在这一点上,它什么都没做:
private void button_Insert_Click(object sender, EventArgs e)
{
var row = new PaymentType();
row.IsActive = false;
row.IsAdded = true;
row.CorporationId = _currentcorp.CorporationId;
row.TokenId = _token.TokenId;
row.PaymentTypeId = Guid.NewGuid();
row.ExcludeCreditCodes = 9;
_paymentTypes.Add(row);
}
还有我的简单保存按钮:
_entities.SaveChanges();
它正在处理现有记录。当我对它们进行更改时,它会更改数据库中的数据。它对新记录不起作用,我也没有删除,因为我不知道该怎么做。
我更喜欢允许datagridview在行上添加记录,而不是按钮。此外,对于删除,允许datagridview处理删除。
有什么建议吗?
要在sql server中插入新数据,可以尝试以下操作:
private void button_Insert_Click(object sender, EventArgs e)
{
var row = new PaymentType();
row.IsActive = false;
row.IsAdded = true;
row.CorporationId = _currentcorp.CorporationId;
row.TokenId = _token.TokenId;
row.PaymentTypeId = Guid.NewGuid();
row.ExcludeCreditCodes = 9;
_entities.PaymentTypes.Add(row); //for linq to sql, you should use InsertOnSubmit()
_entities.SaveChanges();
}