为什么我写的GridView在网页浏览的时候无法显示啊,后台代码写好了。自认为没有错

解决方案 »

  1.   

    把前后台代码贴出来呀。你也可以一步步调试一下、,看看GridView是否被执行了
      

  2.   

    是不是没绑定啊。。
    GridView.DataBind()
      

  3.   

    我调试过了,后台的代码直接跳过去了。而且在网页中的源文件中也找不到GridView的相关代码
      

  4.   

    --前台代码
    <asp:GridView ID="GridView1" Width="100%" FooterStyle-HorizontalAlign="Center" runat="server" BackColor="#464646" CellPadding="4"
                                                                    CellSpacing="1" AutoGenerateColumns="False" Height="245px">
                                                                    <HeaderStyle Height="30px" BackColor="#EEEEEE" />
                                                                    <RowStyle Height="28px" BackColor="White" />
                                                                    <Columns>
                                                                        <asp:TemplateField HeaderText="选 择">
                                                                            <ItemTemplate>
                                                                                <asp:CheckBox ID="CheckBox1" runat="server" />
                                                                            </ItemTemplate>
                                                                        </asp:TemplateField>
                                                                        <asp:BoundField DataField="MenuTitle" HeaderText="栏目名称" />
                                                                        <asp:BoundField DataField="MenuContant" HeaderText="栏目内容" />
                                                                        <asp:TemplateField HeaderText="操 作">
                                                                            <ItemTemplate>
                                                                            </ItemTemplate>
                                                                        </asp:TemplateField>
                                                                    </Columns>
                                                                    <FooterStyle HorizontalAlign="Center" />--后台代码
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ShowMenu();
            }
        }
        private void ShowMenu()
        {
            DataSet ds = Bll.Menu.SelectMenu();
            this.GridView1.DataSource = ds;
            this.GridView1.DataBind();
        }
                                                                </asp:GridView>
      

  5.   

    后台的代码直接跳过去了
    ====>
    ShowMenu没有执行?
      

  6.   

    前台grivdview是不是放在form中了?
    后台的showmenu()没有执行,可以设置下断点
      

  7.   

    private void ShowMenu()
      {
      DataSet ds = Bll.Menu.SelectMenu();
      this.GridView1.DataSource = ds;
      this.GridView1.DataBind();

      }
    在标记为红色的前面加一段if语句,你判断一下ds中是否有数据
      

  8.   

    试试这个: 
    DataSet ds = Bll.Menu.SelectMenu();
      this.GridView1.DataSource = ds.Table[0];
      this.GridView1.DataBind();
      

  9.   

    你调试的时候这个方法ShowMenu()有没有进来呢
      

  10.   

    你将这个函数的代码贴出来呀
     Bll.Menu.SelectMenu();
      

  11.   

    看一下能不能执行page_load事件,然后再把showMenu里面的语句直接拷到if(!IsPostBack)中看一下会不会执行
      

  12.   

    public static DataSet SelectMenu()
            {
                
                DataSet ds = new DataSet();
                sqlHelper.RunProc("SelectMenu", ref ds);
                return ds;
            }
      

  13.   

    DataSet ds ;
    你用this.GridView1.DataSource = ds;
    能有数据吗?
      

  14.   

    你把这个给去掉看看  if (!Page.IsPostBack)
      

  15.   

    你这个this.GridView1.DataSource = ds;
    改成这个试试this.GridView1.DataSource = ds.table[0];
      

  16.   

     我觉得27楼说的可能性大 你试试 if (!IsPostBack)
      {
      ShowMenu();
      }
      

  17.   

    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
            {
                
            }
    else
        {
                this.GridView1.DataSource = ds.Tables[0].DefaultView;
                this.GridView1.DataBind();
        }
    試試
      

  18.   

    还有一个办法就是在sqlHelper.RunProc("SelectMenu", ref ds);中,在数据库中无数据返回时,向ds添加一条空数据,那么将ds绑定到gridview时,gridview就会显示表头
      

  19.   

    调试一下看呗!!!
    估计是SelectMenu()的问题
      

  20.   

    你看看 你 的Bll.Menu.SelectMenu()一定有问题 仔细检查一下
      

  21.   

     EmptyDataText="没有内容!"
    在前台加上试试。
    (<asp:GridView ID="GridView1" Width="100%" FooterStyle-HorizontalAlign="Center" runat="server" BackColor="#464646" CellPadding="4"
      CellSpacing="1" AutoGenerateColumns="False" Height="245px">)
    效果是当没有数据时,显示“没有内容!”
      

  22.   

    Bll.Menu.SelectMenu();
    ??
    这个的代码贴来看看
      

  23.   

    AutoGenerateColumns这个属性你修改为true试试。
      

  24.   

    应该是GridView绑定的数据源为空,楼主可以调试一下
      

  25.   

    DataSet ds = Bll.Menu.SelectMenu();
    确认这个取到数据了?
    手工读取几条数据看看
      

  26.   

    告诉你一个笨方法 用response把MENU值打出来 这样就能判断Dataset是否有数据
    你这样不提示错误 表又是空的 估计值没传进去   
    接分