FineUI 官方论坛

标题: 动态生成可缟辑Grid列时不能保存 [打印本页]

作者: No.1    时间: 2013-8-31 21:51
标题: 动态生成可缟辑Grid列时不能保存
本帖最后由 No.1 于 2013-8-31 22:20 编辑

动态生成可缟辑Grid列后,如果不在可编辑列输入数据时,点保存按扭保存事件可正常通过,当输入数据时点保存事件报错提示未将对象实例是什么情况
前台
<x:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="表格"
        runat="server" DataKeyNames="Guid"  AllowSorting="true" ClicksToEdit="1"  AllowCellEditing="True"    >
        <Toolbars>
                    <x:Toolbar ID="Toolbar1" Position="Top" runat="server">
                        <Items>                             
                             <x:Button ID="btnNew"  runat="server" Icon="Add" Text="新增项目"
                                OnClick="btnNew_Click"  ></x:Button>
                        </Items>
                    </x:Toolbar>
                </Toolbars>
               
    </x:Grid>

后台生成
  private void InitGrid()
        {
  //工资奖金基数
            gridgroupcolumn = new GridGroupColumn();
            gridgroupcolumn.HeaderText = "工资奖金基数";
            gridgroupcolumn.TextAlign = FineUI.TextAlign.Center;

            RenderField rd = new RenderField();
            for (int i = 0; i < ds2.Tables[0].Rows.Count; i++)
            {
                rd = new RenderField();
                rd.DataField = "jj" + (i + 1).ToString();
                rd.FieldType = FineUI.FieldType.String;
                rd.HeaderText = ds2.Tables[0].Rows["jjxmmx"].ToString().Trim();
                rd.TextAlign = FineUI.TextAlign.Center;
                rd.Width = Unit.Parse("80px");
                FineUI.NumberBox nb = new NumberBox();
                nb.ID = "jj" + (i + 1).ToString();
                rd.Editor.Add(nb);
                gridgroupcolumn.Columns.Add(rd);
            }
}
后台存保取值
protected void btnNew_Click(object sender, EventArgs e)
        {
foreach (GridRow row in Grid1.Rows)
            {
                foreach (object value in row.Values)
                {
                    er = value.ToString();
                    i++;
                }
                sql = "update wy_jjjl_mx set ";
                for (int k = 0; k < ds2.Tables[0].Rows.Count; k++)
                {
                    float jj = 0;
                    try
                    {
                        jj = float.Parse(er[6 + k]);
                    }
                    catch
                    {
                    }
                    sql = sql + "jj" + (k + 1).ToString() + "=" + jj + ",";
                }
                sql = sql + "gzjjhj=" + gzjjhj.ToString() + ",ykgs=" + ykgs.ToString()
                    + ",skgs=" + skgs.ToString() + ",sdjj=" + sdjj.ToString() + " where id=" + row.DataKeys[0].ToString();
                i = 0;
            }
}


作者: rongxiwang    时间: 2013-11-6 15:29
遇到了同样的问题,不知道怎么解决,求大神
作者: rongxiwang    时间: 2013-11-9 11:17
前两天遇到了这个问题,但是我解决了,目前是动态创建,修改后,可以进行保存了,大神勿喷,我的方法是将动态创建Grid的方法写进Page_Init中,就好了




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4