using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;namespace DataClass
{    public class MyTemplate : ITemplate
    {
        private string strColumnName;
        private DataControlRowType dcrtColumnType;        public MyTemplate()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }        /**/
        /// <summary>
        /// 动态添加模版列
        /// </summary>
        /// <param name="strColumnName">列名</param>
        /// <param name="dcrtColumnType">列的类型</param>
        public MyTemplate(string strColumnName, DataControlRowType dcrtColumnType)
        {
            this.strColumnName = strColumnName;
            this.dcrtColumnType = dcrtColumnType;
        }
        public void InstantiateIn(Control ctlContainer)
        {
            switch (dcrtColumnType)
            {
                case DataControlRowType.Header: //列标题
                    Literal ltr = new Literal();
                    ltr.Text = strColumnName;
                    ctlContainer.Controls.Add(ltr);
                    break;
                case DataControlRowType.DataRow: //模版列内容——加载CheckBox 
                    CheckBox cb = new CheckBox();
                    cb.ID = "CheckBox1";
                    cb.Checked = false;
                    ctlContainer.Controls.Add(cb);
                    break;
            }
        }
    }
} GridView g = new GridView();
            g.AutoGenerateColumns = false;
            g.Width = Unit.Parse("400");
            g.BackColor = System.Drawing.Color.LightGoldenrodYellow;
            g.BorderColor = System.Drawing.Color.Tan;
            g.BorderWidth = Unit.Parse("1");
            g.CellPadding = 2;
            g.ForeColor = System.Drawing.Color.Black;
            g.GridLines = GridLines.None;            TemplateField tfColumn = new TemplateField();
            tfColumn.ItemTemplate = new MyTemplate("", DataControlRowType.DataRow);
            g.Columns.Add(tfColumn);
            g.DataSource = ds2;
            g.DataBind();为什么我绑定的其他字段信息都没了,页面上只能显示CheckBox了? 求解。

解决方案 »

  1.   

    <asp:GridView ID="GridViewList" runat="server" 
                        AutoGenerateColumns="False" >
                        <EmptyDataTemplate>
                    <div style="text-align:center;"><span>没有任何相关数据!</span></div>
                  </EmptyDataTemplate>
                        <Columns>
                            <asp:TemplateField>
                                <HeaderTemplate>
                                    <asp:CheckBox ID="HCK" runat="server" AutoPostBack="true" Text="全选" 
                                        oncheckedchanged="HCK_CheckedChanged" />
                                </HeaderTemplate>
                                <ItemTemplate>
                                    <asp:CheckBox ID="ICK" runat="server" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField  HeaderText="编号">
                                <ItemTemplate>
                                    <asp:Label ID="LabelID" runat="server" Text='<%#Eval("AC_ID") %>'></asp:Label>
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" Width="80px" />
                            </asp:TemplateField>
                            <asp:TemplateField  HeaderText="标题">
                                <ItemTemplate>
                                    <asp:Label ID="LabelTitle" runat="server" Text='<%#Eval("AC_Title") %>'></asp:Label>
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" Width="80px" />
                            </asp:TemplateField>
                            <asp:TemplateField  HeaderText="作者">
                                <ItemTemplate>
                                    <asp:Label ID="LabelEditor" runat="server" Text='<%#Eval("AC_Editor") %>'></asp:Label>
                                </ItemTemplate>
                                <ItemStyle HorizontalAlign="Center" Width="80px" />
                            </asp:TemplateField>
                   <asp:TemplateField HeaderText="操作">
                                <ItemTemplate>
                                    <asp:HyperLink ID="Show" runat="server" Text="编辑" NavigateUrl='<%# String.Format("ArticleEdit.aspx?acid={0}&typeid={1}",Eval("AC_ID"),Eval("AC_Type"))%>'></asp:HyperLink>
                                    <asp:LinkButton ID="LinkButtonIsPublish" runat="server" 
                                        onclick="LinkButtonIsPublish_Click" Width="52px" CssClass="center" ><%#RePublish(Eval("AC_IsPublish").ToString())%></asp:LinkButton>
                                    <asp:LinkButton ID="LinkButtonDelete" runat="server" 
                                        OnClientClick="return confirm('确认要删除吗?')" onclick="LinkButtonDelete_Click">删除</asp:LinkButton>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>
      

  2.   

    后台:GridViewList.DataSource = bll_article.GetArticleListByTypeID(id);
    GridViewList.DataBind();    
      

  3.   

    解决了
    g.AutoGenerateColumns = false;
    这里不能设置false;取消这行就行。