找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] C1GridView问题

gw0506
超级版主   /  发表于:2013-10-15 14:07:00
11#
这样吧,但从你给的代码来看很难知道问题出在哪。
你能不能给我个Demo,可以简单一点,重新建个工程,放一点数据。

或者你再现有基础上调试一下。比如你怀疑RowUpdated没有执行,那就下个断点看看进来没有。另外,我觉得是不是BindGrid方法中有什么问题,你也可以跟进去看一下。
回复 使用道具 举报
fenicexuan
论坛元老   /  发表于:2013-10-15 14:20:00
12#
回复 11楼gw0506的帖子

整个页面就那几段代码了,我是连存储过程的,发DEMO你也调试不了呢。我可以肯定BindGrid方法是没问题的,只是从数据库读取数据列表而已
private void BindGrid()
        {
            C1GridView1.DataSource = bllSchool.GetList();
            C1GridView1.DataBind();
        }

或者你把能获取修改后的值的代码或例子贴给我看看
我要的很简单,就是通过点击编辑--修改--更新,然后只需要取到修改后的值就OK了
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-10-15 16:48:00
13#
按照我对你需求的理解我觉得也确实没有这么复杂,你只需要使用RowUpdating事件,在事件中通过e.NewValues["列名称"]拿到你修改的单元格的值。然后创建你的bllSchool同步数据源。然后掉BindGrid就可以了。
回复 使用道具 举报
fenicexuan
论坛元老   /  发表于:2013-10-15 19:50:00
14#
回复 13楼gw0506的帖子

我之前想的就这这么做的,在RowUpdating事件中用modelSchool.SchoolName = e.NewValues["SchoolName"];但是这样会弹“未将对象引用设置到对象的实例”这个错误,崩溃
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-10-16 09:16:00
15#
那我们就解决这个问题就好,不用绕一大圈了。我确定而且测试过直接传key取值是好的。所以你就检查一下为什么出问题。比如SchoolName这个名字对不对,是不是有空格等等。或者你干脆加个断点,看看e.NewValues.Keys都是什么值。

另外,你用的什么浏览器?
回复 使用道具 举报
fenicexuan
论坛元老   /  发表于:2013-10-16 09:27:00
16#
回复 15楼gw0506的帖子

//更新行数据
        protected void C1GridView1_RowUpdating(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewUpdateEventArgs e)
        {
            FT.KMS.Model.School modelSchool = new FT.KMS.Model.School();

            modelSchool.SchoolName = e.NewValues["SchoolName"].ToString();
            modelSchool.Address = e.NewValues[2].ToString();
            modelSchool.Phone = "9999";
            modelSchool.SetupPerson = "9999";
            modelSchool.SchoolID = 59;

            bllSchool.Update(modelSchool);            

            C1GridView1.EditIndex = -1;
            BindGrid();
        }

上面是我的代码,不管我是[]里面是传列名,还是列序号,都取不到,没有值,下面的phone我随便写个字符串是可以传值进数据库的,证明我跟数据库的连接是没问题的,也不会是名字不对之类的错误。我用IE和Google浏览器都试过了,一样的问题
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-10-16 10:28:00
17#
那你有没有吧e.NewValues.Keys遍历一边,看看到底有哪些新值在这个参数中?
如果你无法解决,那么就必须需要你的Demo来让我测试问题了。因为我不能重现取不到值的问题。
回复 使用道具 举报
fenicexuan
论坛元老   /  发表于:2013-10-16 10:46:00
18#
回复 17楼gw0506的帖子

这是那个功能页面几个文件,你看看。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-10-16 12:04:00
19#
我修改到我们地数据源后,没有问题。

你能不能重新做个工程,按现在的做法,给我数据源,我来重现。或者就是debug一下,看看e.NewValues中到底有啥,然后贴出来。
回复 使用道具 举报
fenicexuan
论坛元老   /  发表于:2013-10-16 13:07:00
20#
回复 19楼gw0506的帖子

C1.Web.Wijmo.Controls.3.dll你用的是这个,还是C1.Web.Wijmo.Controls.4.dll这个?
e.NewValues中是空的,什么都没有。我的数据源是从存储过程来的,SQL2008
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部