生成了个动态的gridview,现在想在每行的最后添加一个编辑功能,现在添加了但是点击编辑没有编辑文本框出现?
咋弄?代码如下:  if (dt != null)
        {
            gvshow = new GridView();
            gvshow.Width = Unit.Pixel(1200);
            gvshow.Height = 20;
            
            gvshow.AutoGenerateColumns = false;
           // gvshow.RowEditing+=new GridViewEditEventHandler(gvshow_RowEditing);
            gvshow.RowCancelingEdit+=new GridViewCancelEditEventHandler(gvshow_RowCancelingEdit);
            gvshow.RowEditing += new GridViewEditEventHandler(gvshow_RowEditing);
             
            gvshow.RowDeleting += new GridViewDeleteEventHandler(gvshow_RowDeleting);
            gvshow.DataSource = dt;             for (int i = 0; i < dt.Columns.Count; i++)
            {
                
              // TemplateColumn tc1 = new TemplateColumn();
               //tc1.HeaderTemplate = new GridView(ListItemType.Header, dt.Columns[i].ColumnName.ToString());
               //tc1.EditItemTemplate = new GridViewEditEventHandler(gvshow_RowEditing);
               //tc1.HeaderText = dt.Columns[i].Caption.ToString();                BoundField bc = new BoundField();
                bc.DataField = dt.Columns[i].ColumnName.ToString();
                bc.HeaderText = dt.Columns[i].Caption.ToString();
                gvshow.Columns.Add(bc);
             }
            
            CommandField cf = new CommandField();
            cf.ButtonType = ButtonType.Link;
            cf.ShowEditButton = true;
            cf.CausesValidation = false;
            gvshow.Columns.Add(cf);            CommandField cf2 = new CommandField();
            cf2.ButtonType = ButtonType.Link;
            cf2.ShowDeleteButton = true;
            cf2.CausesValidation = false;            gvshow.Columns.Add(cf2);            gvshow.DataBind();
            this.PhDataTable.Controls.Add(gvshow);
        }

解决方案 »

  1.   

    现在aspx页面上画出来,然后隐藏,显示,这样不是很简单吗。
      

  2.   

    因为gridview的行数不确定呢!所以必须要动态生成gridview呢!
      

  3.   

    grdeview不是有自带的编辑功能吗?
    启动这个功能之后,在你需要变成下拉菜单或者文本框的列的</EditItemTemplate>里面放入下拉框或者文本框。不过这些列一定要是模板列的!
      

  4.   

    部分代码:<asp:TemplateField HeaderText="推荐指数">
                                    <EditItemTemplate>
                                        <asp:DropDownList ID="dy_tjzs" runat="server" DataTextField="tjzsmc" DataValueField="tjzsbh"
                                            Width="95px">
                                        </asp:DropDownList>
                                    </EditItemTemplate>
                                    <ItemTemplate>
                                        <asp:Label ID="Label4" runat="server" Text='<%# Eval("tjzsmc") %>'></asp:Label>
                                        
                                    </ItemTemplate>
                                    <ItemStyle Width="120px" />
                                </asp:TemplateField>
      

  5.   

    这个gridview是动态生成的呢!后台生成不是前台哈!