none
求助!!数据显示问题 RRS feed

  • 问题

  • 怎么实现同一张表不重复的数据在页面表格第一列显示5条后跳过第二列直接显示在第三列??
    用源码写出来发给我,谢谢!
    我用vs2005+SQL2000,asp.net
    2009年12月30日 7:10

答案

  • 你好,

    参考下面代码试试。

    public DataTable GenerateDT
        {
            get
            {
                if (ViewState["ds"] != null)
                {
                    return (ViewState["ds"] as DataSet).Tables[0];
    
                }
                else
                {
                    DataTable dt = new DataTable();
                    dt.Columns.Add("Id", typeof(int));
                    dt.Columns.Add("Test1", typeof(string));
                    dt.Columns.Add("Test2", typeof(string));
                    dt.Columns.Add("Test3", typeof(string));
                    dt.Columns.Add("UserName", typeof(string));
                    dt.Columns.Add("Password", typeof(string));
                    dt.PrimaryKey = new DataColumn[] { dt.Columns[0] };
                    DataRow dr1 = dt.NewRow();
                    dr1[0] = "1";
                    dr1[1] = "test2";
                    dr1[2] = "test3";
                    dr1[3] = "test3";
                    dr1[4] = "Name1";
                    dr1[5] = "";
                    dt.Rows.Add(dr1);
                    DataRow dr2 = dt.NewRow();
                    dr2[0] = "2";
                    dr2[1] = "test2";
                    dr2[2] = "test3";
                    dr2[3] = "test3";
                    dr2[4] = "Name2";
                    dr2[5] = "2";
                    dt.Rows.Add(dr2);
                    DataRow dr3 = dt.NewRow();
                    dr3[0] = "3";
                    dr3[1] = "test2";
                    dr3[2] = "test3";
                    dr3[3] = "test3";
                    dr3[4] = "Name2";
                    dr3[5] = "";
                    dt.Rows.Add(dr3);
                    DataSet ds = new DataSet();
                    ds.Tables.Add(dt);
                    ViewState["ds"] = ds;
                    return dt;
    
                }
            }
            set { ViewState["ds"] = value; }
        }
    
    <table>
            <tr>
                <% int rows = 0; %>
                <%for (; rows < this.GenerateDT.Rows.Count; rows++)
                  {%>
                <%if (rows % 5 == 0)
                  {%>
                <td>
                <table>
                    <%}%>
                    <tr><td><%=this.GenerateDT.Rows[rows][0] %></td></tr>
                    
                 <%if (rows % 5 == 1)
                 {%>
                 </table>
                </td>
                <%} %>
                <%} %>
            </tr>
        </table>

    Microsoft Online Community Support
    2009年12月31日 3:42

全部回复

  • 你的这句话好长呀,也不加个标点!!!
    努力+方法=成功
    2009年12月30日 7:14
  • 不好意思,我太急了,下回注意!
    请问您知道答案吗
    2009年12月30日 8:07
  • 不明白你需要的是什么,你详细描述一下。
    知识改变命运,奋斗成就人生!
    2009年12月31日 1:35
    版主
  • 你好,

    参考下面代码试试。

    public DataTable GenerateDT
        {
            get
            {
                if (ViewState["ds"] != null)
                {
                    return (ViewState["ds"] as DataSet).Tables[0];
    
                }
                else
                {
                    DataTable dt = new DataTable();
                    dt.Columns.Add("Id", typeof(int));
                    dt.Columns.Add("Test1", typeof(string));
                    dt.Columns.Add("Test2", typeof(string));
                    dt.Columns.Add("Test3", typeof(string));
                    dt.Columns.Add("UserName", typeof(string));
                    dt.Columns.Add("Password", typeof(string));
                    dt.PrimaryKey = new DataColumn[] { dt.Columns[0] };
                    DataRow dr1 = dt.NewRow();
                    dr1[0] = "1";
                    dr1[1] = "test2";
                    dr1[2] = "test3";
                    dr1[3] = "test3";
                    dr1[4] = "Name1";
                    dr1[5] = "";
                    dt.Rows.Add(dr1);
                    DataRow dr2 = dt.NewRow();
                    dr2[0] = "2";
                    dr2[1] = "test2";
                    dr2[2] = "test3";
                    dr2[3] = "test3";
                    dr2[4] = "Name2";
                    dr2[5] = "2";
                    dt.Rows.Add(dr2);
                    DataRow dr3 = dt.NewRow();
                    dr3[0] = "3";
                    dr3[1] = "test2";
                    dr3[2] = "test3";
                    dr3[3] = "test3";
                    dr3[4] = "Name2";
                    dr3[5] = "";
                    dt.Rows.Add(dr3);
                    DataSet ds = new DataSet();
                    ds.Tables.Add(dt);
                    ViewState["ds"] = ds;
                    return dt;
    
                }
            }
            set { ViewState["ds"] = value; }
        }
    
    <table>
            <tr>
                <% int rows = 0; %>
                <%for (; rows < this.GenerateDT.Rows.Count; rows++)
                  {%>
                <%if (rows % 5 == 0)
                  {%>
                <td>
                <table>
                    <%}%>
                    <tr><td><%=this.GenerateDT.Rows[rows][0] %></td></tr>
                    
                 <%if (rows % 5 == 1)
                 {%>
                 </table>
                </td>
                <%} %>
                <%} %>
            </tr>
        </table>

    Microsoft Online Community Support
    2009年12月31日 3:42