c# 用linq方法怎么通过datagridview修改数据?
如题主要是我想在某一大堆数据里面修改特定行的数据,用linq的方法要怎么样修改?因为我是通过datagridview来查询出数据的,然后如果看见某行数据有问题的话需要修改...
如题主要是我想在某一大堆数据里面修改特定行的数据,用linq的方法要怎么样修改?因为我是通过datagridview来查询出数据的,然后如果看见某行数据有问题的话需要修改,这个时候怎么可以做到针对某行数据来修改?
展开
1个回答
2013-06-21
展开全部
假设你的Linq文件已经生成(数据库文件),同时你的datagrid已经是AllowEditing=True(允许编辑,这样你双击就可以编辑)。并且存在一个主键(主键不允许修改,把主键列的ReadOnly设置为True)然后在datagrid的CellEndEdit事件这样编写: private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
string columnname = dataGridView1.Columns[e.ColumnIndex].DataPropertyName;
//假设第一列是id主键,
int id = (int)dataGridView1.Rows[e.RowIndex].Cells[0].Value; //先用生成的linq对象找到id,var r = from xx…… where xx.Id == id //然后判断columnname是什么
// if columnname=="Name"
// {
// r.Name = dataGridView1.Rows[e.RowIndex].Cells[索引列序号].ToString();
// } //最后调用datacontext的SubmitChanges,然后重新将datagrid的DataSource设置为null,并且重新绑定DataSource到Linq的那个数据源上即可。
}
{
string columnname = dataGridView1.Columns[e.ColumnIndex].DataPropertyName;
//假设第一列是id主键,
int id = (int)dataGridView1.Rows[e.RowIndex].Cells[0].Value; //先用生成的linq对象找到id,var r = from xx…… where xx.Id == id //然后判断columnname是什么
// if columnname=="Name"
// {
// r.Name = dataGridView1.Rows[e.RowIndex].Cells[索引列序号].ToString();
// } //最后调用datacontext的SubmitChanges,然后重新将datagrid的DataSource设置为null,并且重新绑定DataSource到Linq的那个数据源上即可。
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询