FineUI 官方论坛
标题:
Grid如何使用Grid1.CommitChanges()更新数据库
[打印本页]
作者:
舞柯庶
时间:
2013-6-9 17:32
标题:
Grid如何使用Grid1.CommitChanges()更新数据库
Grid 使用DataTable作为数据源;
Grid1.DataSource = table;
Grid1.DataBind();
想问下如何使用 CommitChanges()更新数据库呢?
如何不能更新,是不是需要按普通方法写SQL语句更新呢?
作者:
sanshi
时间:
2013-6-9 17:48
CommitChanges() 只是用来更新前段UI的,更新数据库需要自己写代码:
http://fineui.com/demo/#/demo/grid/grid_editor_cell.aspx
作者:
舞柯庶
时间:
2013-6-9 17:49
另外在 GRID编辑中,使用自动补全,无法使用!
作者:
舞柯庶
时间:
2013-6-9 18:35
明白了! 还有个问题。GRID编辑中 如何后台绑定 下拉框呢?
新版本是否解决了 GRID编辑 复选框?还有 排序呢?
作者:
erp8@live.cn
时间:
2013-6-10 09:02
CommitChanges() 只是用来更新前段UI的,更新数据库需要自己写代码:
http://fineui.com/demo/#/demo/grid/grid_editor_cell.aspx
更新数据库需要自己写代码:
-----各位大神可否做示例,让我们学习一下?
作者:
舞柯庶
时间:
2013-6-10 18:05
本帖最后由 舞柯庶 于 2013-6-10 18:06 编辑
抛砖引玉:
Dictionary<int, Dictionary<int, string>> modifiedDict = xGrid.GetModifiedDict();
//获取修改后的数据集合xGrid.GetModifiedData().ToString()
string xSqls = "";
string xIdS="";
for (int i = 0, count = xGrid.Rows.Count; i < count; i++)
{
if (modifiedDict.ContainsKey(i))//当前行是否修改
{
if (xSqls == "")
{
xSqls = "Update xtable Set CL_UpdateName='"+Session["user_name"].ToString()+"',CL_UpdateDate=GetDate()";
xIdS=xGrid.DataKeys
[0].ToString();
}
else
{
xSqls = xSqls + "$Update xtable Set CL_UpdateName='" + Session["user_name"].ToString() + "',CL_UpdateDate=GetDate()";
xIdS=xIdS+","+xGrid.DataKeys
[0].ToString();
}
Dictionary<int, string> rowDict = modifiedDict
;
//数量
if (rowDict.ContainsKey(4))//是否修改
{
xSqls = xSqls + ",CL_Num=" + Convert.ToDouble(rowDict[4]);
}
// 单重
if (rowDict.ContainsKey(9))
{
xSqls = xSqls + ",CL_Weight=" + rowDict[9].ToString();
}
// 备注
if (rowDict.ContainsKey(10))
{
xSqls = xSqls + ",CL_Meno=" + rowDict[10].ToString();
}
xSqls = xSqls + " Where Id=" + xGrid.DataKeys
[0].ToString();
}
}//for
DB db = new DB();
string[] sql_arr = xSqls.Split('$');
db.Exec_Trans(sql_arr);
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4