FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3228|回复: 3
打印 上一主题 下一主题

grid单元格编辑保存到数据库

[复制链接]
跳转到指定楼层
楼主
发表于 2016-11-9 10:45:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大神,我根据实例http://fineui.com/demo/#/demo/grid/grid_editor_cell.aspx也做了一个页面,但是点保存之后数据库的数据没变化,但是lable3里面显示的内容是对的。后台代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using FineUI;

namespace EmptyProjectNet40_FineUI
{
    public partial class test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindGrid();
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Dictionary<int, Dictionary<string, object>> modifiedDict = Grid1.GetModifiedDict();

            foreach (int rowIndex in modifiedDict.Keys)
            {
                int rowID = Convert.ToInt32(Grid1.DataKeys[rowIndex][0]);

                DataRow row = FindRowByID(rowID);

                UpdateDataRow(modifiedDict[rowIndex], row);
            }
            BindGrid();

            Label3.Text = "用户修改的数据:" + Grid1.GetModifiedData().ToString(Newtonsoft.Json.Formatting.None);

            Alert.Show("数据保存成功!(表格数据已重新绑定)");
        }
        private void UpdateDataRow(Dictionary<string, object> rowDict, DataRow rowData)
        {
            // 姓名
            UpdateDataRow("item", rowDict, rowData);

            // 性别
            UpdateDataRow("po", rowDict, rowData);

            // 入学年份
            UpdateDataRow("name", rowDict, rowData);

            // 入学日期
            UpdateDataRow("color1", rowDict, rowData);

            // 是否在校
            UpdateDataRow("color2", rowDict, rowData);

            // 所学专业
            UpdateDataRow("date", rowDict, rowData);

        }
        private void UpdateDataRow(string columnName, Dictionary<string, object> rowDict, DataRow rowData)
        {
            if (rowDict.ContainsKey(columnName))
            {
                rowData[columnName] = rowDict[columnName];
            }
        }
        private void BindGrid()
        {
            DataTable dt = GetSourceData();
            Grid1.DataSource = dt;
            Grid1.DataBind();
        }
        private DataTable GetSourceData()
        {
            string strconn;
            string sql = "select item,po,name,color1,color2,client,number,date,price,amount,id from orderlist";
            strconn = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString;
            SqlConnection conn = new SqlConnection(strconn);
            conn.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql,conn);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            conn.Close();
            return dt;

        }
        private DataRow FindRowByID(int rowID)
        {
            DataTable table = GetSourceData();
            foreach (DataRow row in table.Rows)
            {
                if (Convert.ToInt32(row["id"]) == rowID)
                {
                    return row;
                }
            }
            return null;
        }
    }
}

是少了什么吗?
沙发
 楼主| 发表于 2016-11-9 16:42:55 | 只看该作者
没大神指点下吗?
板凳
发表于 2016-11-9 22:51:48 | 只看该作者
private void UpdateDataRow(string columnName, Dictionary<string, object> rowDict, DataRow rowData)
        {
            if (rowDict.ContainsKey(columnName))
            {
                rowData[columnName] = rowDict[columnName];
            }
        }
这里应该要添加写入到数据库吧?
地板
 楼主| 发表于 2016-12-6 12:20:09 | 只看该作者
谢谢,已处理了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-4-27 01:11 , Processed in 0.046276 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表