c# 用linq方法怎么通过datagridview修改数据?
如题主要是我想在某一大堆数据里面修改特定行的数据,用linq的方法要怎么样修改?
因为我是通过datagridview来查询出数据的,然后如果看见某行数据有问题的话
需要修改,这个时候怎么可以做到针对某行数据来修改?
追问:如果我是在一个datagrid可以分别查询两个不同的表的内容呢?譬如我现在是在一个datagrid,通过按钮来确认要查询的内容,这个内容分别是收入和支出
然后datagrid才显示内容才进行修改,
这个也是一样做法的吗?
答案:假设你的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的那个数据源上即可。
}
上一个:C#怎么设置服务器空间button不刷新页面呢
下一个:C#怎么把水晶报表显示在crystalReportViewer控件中