FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 11112|回复: 16
打印 上一主题 下一主题

更新3.3.1后,使用Grid编辑后红色修改标示不消失,另外重...

[复制链接]
跳转到指定楼层
楼主
发表于 2013-7-31 08:26:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天更新了更新3.3.1后,
发现使用Grid编辑后红色修改标示不消失,但是内容却是更新后
另外重新绑定Grid好像没有起到作用。但是3.3.0是没问题的。代码如下;

更新:
                   db.Exec_Trans(sql_log);                  
                   UserGrid_Edit.Bind();  //重新绑定
                  Alert.Show("数据保存成功!");

        public void Bind()
        {
            try
            {
                DB db = new DB();
                DataView dv;
                         dv = db.Drv_table(SqlStringTmp + " order by " + String.Format("{0} {1}", SortColumn, SortDirection));
                // 1.设置总项数(特别注意:数据库分页一定要设置总记录数RecordCount)
                         Grid1.RecordCount = dv.Count; //GetTotalCount(dv);
                // 2.获取当前分页数据
                DataTable table = GetPagedDataTable(dv,Grid1.PageIndex,Grid1.PageSize);
                Grid1.DataSource = table;
                Grid1.DataBind();
            }
            catch (Exception ex) { Alert.ShowInTop(ex.ToString() + "<br>" + SqlStringTmp + " order by " + String.Format("{0} {1}", SortColumn, SortDirection), "Grid数据绑定出错_Bind()", MessageBoxIcon.Error); }
        }
沙发
 楼主| 发表于 2013-7-31 08:45:50 | 只看该作者
测试了下。Bind() 也执行了。但是没有起到绑定效果l。
我是做了个模板,里面放个Grid,然后再页面中引用的。在3.3.0里面都正常使用。升级后 出现这个问题
板凳
 楼主| 发表于 2013-7-31 09:03:30 | 只看该作者
问题好像出在 更新语句

public void Exec_Trans(string[] sqlstrs)
        {
            SqlConnection Conn = CreatConn();
                          Conn.Open();
            SqlCommand myCommand = Conn.CreateCommand();
            SqlTransaction trans = Conn.BeginTransaction();
                          myCommand.Transaction = trans;
            try
            {

                foreach (string sqlstr in sqlstrs)
                {
                    if (!string.IsNullOrEmpty(sqlstr))
                    {
                        myCommand.CommandText = sqlstr;
                        myCommand.ExecuteNonQuery();
                    }
                }

                trans.Commit();
            }
            catch (Exception ex)
            {
                trans.Rollback();
                throw new Exception("数据库提交失败:" + ex.Message + "<br>" + myCommand.CommandText);
            }
            finally
            {
                Conn.Close();
            }            
        }

原因不清楚?????
地板
发表于 2013-7-31 09:13:35 | 只看该作者
你说的是不是两个问题:
1. 发现使用Grid编辑后红色修改标示不消失,但是内容却是更新后
2. 另外重新绑定Grid好像没有起到作用

这两个分别怎么发生的,请详细描述一下
5#
 楼主| 发表于 2013-7-31 09:24:07 | 只看该作者
本帖最后由 舞柯庶 于 2013-7-31 09:26 编辑

我测试了下 。是一个问题。就是执行了更新后。系统重新绑定不执行了。好像问题出在 更新语句。但是更新却是执行了。我点击右键刷新页面 里面的内容就变化了。实在搞不定 只能用 PageContext.Refresh(); 替换 UserGrid_Edit.Bind(); 这样页面都刷新了。
              

string[] sql_arr = xSqls.Split('$');   
                  
                   db.Exec_Trans(sql_arr);//问题出在此处               
                                      
                   Alert.Show("数据保存成功!");

                   UserGrid_Edit.Bind();  //重新绑定
//---------------------------------------------------

  public void Exec_Trans(string[] sqlstrs)
        {
            SqlConnection Conn = CreatConn();
                          Conn.Open();
            SqlCommand myCommand = Conn.CreateCommand();
            SqlTransaction trans = Conn.BeginTransaction();
                          myCommand.Transaction = trans;
            try
            {

                foreach (string sqlstr in sqlstrs)
                {
                    if (!string.IsNullOrEmpty(sqlstr))
                    {
                        myCommand.CommandText = sqlstr;
                        myCommand.ExecuteNonQuery();
                    }
                }

                trans.Commit();
            }
            catch (Exception ex)
            {
                trans.Rollback();
                throw new Exception("数据库提交失败:" + ex.Message + "<br>" + myCommand.CommandText);
            }
            finally
            {
                Conn.Close();
            }            
        }




      /// <summary>
        /// Grid绑定数据
        /// </summary>
        public void Bind()
        {
            try
            {
                DB db = new DB();
                DataView dv;
                         dv = db.Drv_table(SqlStringTmp + " order by " + String.Format("{0} {1}", SortColumn, SortDirection));

                // 1.设置总项数(特别注意:数据库分页一定要设置总记录数RecordCount)
                         Grid1.RecordCount = dv.Count; //GetTotalCount(dv);

                // 2.获取当前分页数据
                DataTable table = GetPagedDataTable(dv,Grid1.PageIndex,Grid1.PageSize);

                Grid1.DataSource = table;
                Grid1.DataBind();
            }
            catch (Exception ex) { Alert.ShowInTop(ex.ToString() + "<br>" + SqlStringTmp + " order by " + String.Format("{0} {1}", SortColumn, SortDirection), "Grid数据绑定出错_Bind()", MessageBoxIcon.Error); }
        }
6#
发表于 2013-7-31 09:28:32 | 只看该作者
三石大哥,是不是和我的问题有类似之处,是模板列更新问题导致的哦。
7#
 楼主| 发表于 2013-7-31 09:42:17 | 只看该作者
本帖最后由 舞柯庶 于 2013-7-31 09:48 编辑

我把模板列 都干掉了也不行啊。我试了试。

???
9#
发表于 2013-7-31 10:01:36 | 只看该作者
舞柯庶 发表于 2013-7-31 09:24
我测试了下 。是一个问题。就是执行了更新后。系统重新绑定不执行了。好像问题出在 更新语句。但是更新却是 ...
  1. tring[] sql_arr = xSqls.Split('这个地方不指定数据源 DataSource 就直接 Bind ?);   
  2.                   
  3.                    db.Exec_Trans(sql_arr);//问题出在此处               
  4.                                       
  5.                    Alert.Show("数据保存成功!");

  6.                    UserGrid_Edit.Bind();  //重新绑定
复制代码
这个地方不指定数据源 DataSource 就直接 Bind ?
10#
 楼主| 发表于 2013-7-31 10:03:17 | 只看该作者
本帖最后由 舞柯庶 于 2013-7-31 10:13 编辑

问题好像是:
如果数据表定义时,默认值搞成空值  (''),就可以了。估计是个Bug
但是 如果这个地方输入有点值没问题。有点不行。  字符型
值看了下 也没有规律

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-6-26 08:53 , Processed in 0.047541 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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