protected void Page_Load(object sender, EventArgs e)
    {
        mySql.myOpen();
        string SqlStr = "select newsTitle, newsTime from dzNews";
        string TableName="dzNews";
        DataSet myDataSet = mySql.createDataSet(SqlStr,TableName);
        PagedDataSource ps = new PagedDataSource();
        ps.DataSource = myDataSet.Tables[TableName].DefaultView;
        DataList1.DataSource = ps;
        DataList1.DataKeyField = "newsTitle";
        DataList1.DataBind();      
    }public DataSet createDataSet(string SqlStr,string TableName)
        {
            DataSet myDataSet = new DataSet();
            SqlDataAdapter myAdapter = new SqlDataAdapter(SqlStr,getOpen());
            myAdapter.Fill(myDataSet, "dzNews"); 
            myClose();
            return myDataSet;
        }为什么运行的时候datalist上什么也没显示?

解决方案 »

  1.   

    if(!IsPostBack)
    {
     ....
    }
      

  2.   

    加了if(!IsPostBack) 还是不行
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                mySql.myOpen();
                string SqlStr = "select newsTitle, newsTime from dzNews";
                string TableName = "dzNews";
                DataSet myDataSet = mySql.createDataSet(SqlStr, TableName);
                PagedDataSource ps = new PagedDataSource();
                ps.DataSource = myDataSet.Tables[TableName].DefaultView;
                DataList1.DataSource = ps;
                DataList1.DataBind();
                mySql.myClose();
            }
        }public DataSet createDataSet(string SqlStr,string TableName)
            {
                DataSet myDataSet = new DataSet();
                SqlDataAdapter myAdapter = new SqlDataAdapter(SqlStr,getOpen());
                myAdapter.Fill(myDataSet, "dzNews");
                return myDataSet;
            } 
    仍然没又显示数据?
      

  3.   

    检查myDataSet.Tables[TableName].Rows.Count 是否 > 0;
      

  4.   

    myDataSet.Tables[TableName].Rows.Count>0;myDataSet.Tables[TableName].Rows.Count为3
      

  5.   

    datalist控件我就把它拖到了页面上,设置了列数为2列~
      

  6.   

    DataList1.DataSource = 直接绑定看是否有值显示, 如果有,则你的自定义分页源有问题,如果没有,再议。:D
      

  7.   

    DataList1.DataSource =myDataSet ; 没有值显示
      

  8.   

    <asp:GridView ID="GridView1" runat="server">
                        <Columns>
                            <asp:BoundField DataField="name" />
                        </Columns>
                    </asp:GridView>
    protected void Page_Load(object sender, EventArgs e)
            {
                
                this.GridView1.DataSource = FootballClass();
                GridView1.DataBind();
            }        public DataView FootballClass()
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("id", typeof(int));
                dt.Columns.Add("name", typeof(string));
                dt.Columns.Add("id1", typeof(int));
                DataRow dr = dt.NewRow();
                dr["id"] = 1;
                dr["name"] = "我";
                dr["id1"] = 1;
                dt.Rows.Add(dr);            dr = dt.NewRow();
                dr["id"] = 2;
                dr["name"] = "你";
                dt.Rows.Add(dr);            dr = dt.NewRow();
                dr["id"] = 3;
                dr["name"] = "他";
                dt.Rows.Add(dr);
                return dt.DefaultView;
            }
      

  9.   

    如果有数据的话
    DataList1.DataSource = ps; 
    改成
    DataList1.DataSource = myDataSet.Tables[0].DefaultView;
      

  10.   

    我发现问题了,是因为没在页面上设置datalist,
    <ItemTemplate>
                        <asp:LinkButton id="btnSelect" Text=<%# DataBinder.Eval(Container.DataItem,"newsTitle") %> CommandName="edit" runat="server" />
                        
                        <asp:Label ID="Label1" runat="server" Text=<%# DataBinder.Eval(Container.DataItem,"newsTime") %>></asp:Label>
                        
                    </ItemTemplate>
    之后就可以显示了,但是请问如何让newsTitle和newsTitle显示在同一行,而且让后面的数据再起一行,一行只显示一组数据呢