首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

急GridView动态生成模版列的有关问题

2012-01-22 
急!!!GridView动态生成模版列的问题?在page_load的事件中动态添加模版列:publicclassGridViewTemplate:ITe

急!!!GridView动态生成模版列的问题?
在page_load的事件中动态添加模版列:
  public   class   GridViewTemplate   :   ITemplate
        {
                ListItemType   templateType;
                string   columnName;
     
                public   GridViewTemplate(ListItemType   type,   string   colname)
                {
                        templateType   =   type;        
                        columnName   =   colname;
                }

                public   void   InstantiateIn(System.Web.UI.Control   container)
                {
                        switch   (templateType)
                        {
                                case   ListItemType.Header:
                                        //lc.Text   =   " <B> "   +   columnName   +   " </B> ";
                                        //container.Controls.Add(lc);
                                        break;
                                case   ListItemType.Item:
                                        DropDownList   drr   =   new   DropDownList();
                                        drr.ID   =   "dropdown ";
                                        drr.AppendDataBoundItems   =   true;
                                        drr.Items.Add(new   ListItem( "-----请选择------ ",   " "));
                                        drr.Items.Add(new   ListItem( "AA ",   "a "));
                                        drr.Items.Add(new   ListItem( "BB ",   "b "));
                                        drr.Items.Add(new   ListItem( "CC ",   "c "));


                                        container.Controls.Add(drr);
                                        break;
                                case   ListItemType.EditItem:
                                        //TextBox   tb   =   new   TextBox();
                                        //tb.Text   =   " ";
                                        //container.Controls.Add(tb);
                                        break;
                                case   ListItemType.Footer:
                                        //lc.Text   =   " <I> "   +   columnName   +   " </I> ";
                                        //container.Controls.Add(lc);
                                        break;
                        }      


                }
        }

//page_load事件中邦定模版列
TemplateField   field   =   new   TemplateField();
                                                        field.HeaderStyle.Wrap   =   false;
                                                        field.ItemStyle.HorizontalAlign   =   HorizontalAlign.Center;
                                                        field.HeaderText   =   tab.Rows[0][ "show_name "].ToString();
                                                        //field.ItemTemplate   =   new   GridViewTemplate(DataControlRowType.DataRow,   " ");
                                                        field.ItemTemplate   =   new   GridViewTemplate(ListItemType.Item,   " ");


                                                        this.GridView1.Columns.Add(field);


在gridviw翻页时模版列中的控件丢失
这种情况该怎么解决?

[解决办法]
你用Viewstate保存状态.然后在分页里重绑一下.就像分页的自定排序一下.
我是用这种方法..不知还有未更好的!
[解决办法]
动态的重写后就可以了,但静态的模版列控件也会丢,
者是怎么回事呀
又可以解决的方法吗
[解决办法]
你分页这么实现的阿?自定义分页应该没有问题的、
<a href= 'xx.aspx?page=1 '> 1 </a> <a href= 'xx.aspx?page=2 '> 1 </a> ...就不会有问题的
[解决办法]
up

热点排行