小弟写一个用户自定义控件,就是显示数据库中的信息,是显示两列信息内容,第一列显示5条信息后要换行到第二列继续显示,小弟想不明白应该怎么去循环,这个控件每行是一个<tr>每列是<tr>中的<td>我把我写的代码粘到下边
if(dt!=null)
{
Merchandise_Seek += "<table  width='100%'>";
for(int i=0;i<dt.Rows.Count;i++)
{
if(i<Info_Amount)
{
Merchandise_Seek += "<tr>";
Merchandise_Seek += "<td align='left' width=50%><span class='span4'><a class='span4' href='"+dt.Rows[i]["id"].ToString()+"'>"+Return_sortstring(dt.Rows[i]["name"].ToString(),InfoShow_Amount)+"</a></span></td>";
Merchandise_Seek += "<td align='left' width=50%><span class='span4'><a class='span4' href='"+dt.Rows[i]["id"].ToString()+"'>"+Return_sortstring(dt.Rows[i]["name"].ToString(),InfoShow_Amount)+"</a></span></td>";
Merchandise_Seek += "</tr>";
}
}
}
现在这样循环出来后两个<td>中显示的是一样的数据,请问我应该怎么循环或者判断才能达到第一个<td>中显示5条数据后在第二个<td>中继续显示数据呢?拜托高手,谢谢了

解决方案 »

  1.   

    注:Info_Amount是小弟自己写的一个属性,用来控制信息显示条数。Return_sortstring这个是方法,用来判断用户输入字数,如果超过字数就显示...。Return_sortstring这个是属性用来控制每条记录显示的字符数。
      

  2.   

    没看见你写“</table>”啊?
      

  3.   

    呵呵,建議樓主用DataList控件實現,省事多了!
      

  4.   

    for(int i=0;i<dt.Rows.Count;i++)
    {
        if(i % 5 == 0)
        {
          Merchandise_Seek += "<tr>";
        }
        Merchandise_Seek += "<td align='left' width=50%><span class='span4'><a class='span4' href='"+dt.Rows[i]["id"].ToString()+"'>"+Return_sortstring(dt.Rows[i]["name"].ToString(),InfoShow_Amount)+"</a></span></td>";
    Merchandise_Seek += "<td align='left' width=50%><span class='span4'><a class='span4' href='"+dt.Rows[i]["id"].ToString()+"'>"+Return_sortstring(dt.Rows[i]["name"].ToString(),InfoShow_Amount)+"</a></span></td>";
       if( (i+1) % 5 == 0)
       {
            Merchandise_Seek += "</tr>";
       }
    }if(dt.Rows.Count % 5 != 0)
    {
       Merchandise_Seek += "</tr>";
    }
      

  5.   

    string Merchandise_Seek = "";
                DataTable dt = new DataTable();
                if (dt != null)
                {
                    Merchandise_Seek += "<table  width='100%'>";
                    Merchandise_Seek += "<tr>";
                    
                    for (int i = 0; i < dt.Rows.Count; i += 5)
                    {
                        Merchandise_Seek += "<td>";
                        for (int j = 0; j < 5; j++)
                        {
                            Merchandise_Seek += "<table  width='100%'>";
                            Merchandise_Seek += "<tr>";
                            Merchandise_Seek += "<td>";
                            Merchandise_Seek += dt.Rows[i + j][0].ToString();
                            Merchandise_Seek += "</td>";
                            Merchandise_Seek += "</tr>";
                            Merchandise_Seek += "</table>";
                        }
                        Merchandise_Seek += "</td>";
                    }
                    
                    Merchandise_Seek += "</tr>";
                    Merchandise_Seek += "</table>";
                }
      

  6.   

    public string MerchandiseSeek()
    {
    string Merchandise_Seek = ""; DataTable dt = Showinfo_Data;
    if(dt!=null)
    {
    Merchandise_Seek += "<table  width='100%'>";
    for(int i=0;i<dt.Rows.Count;i++)
    {
    if(i<Info_Amount)
    {
    Merchandise_Seek += "<tr>";
    Merchandise_Seek += "<td align='left' width=50%><span class='span4'><a class='span4' href='"+dt.Rows[i]["id"].ToString()+"'>"+Return_sortstring(dt.Rows[i]["name"].ToString(),InfoShow_Amount)+"</a></span></td>";
    Merchandise_Seek += "<td align='left' width=50%><span class='span4'><a class='span4' href='"+dt.Rows[i]["id"].ToString()+"'>"+Return_sortstring(dt.Rows[i]["name"].ToString(),InfoShow_Amount)+"</a></span></td>";
    Merchandise_Seek += "</tr>";
    }
    }
    Merchandise_Seek += "</table>";
    }
    return Merchandise_Seek;
    }
    完整的是这样的,这个方法是嵌套在一个大的控件中的一部分,为了灵活起见,我在大控件中写了不少方法,直接在控件中调用方法就可以获得各种不同的显示样式了。这个是其中的一种,哪个高手帮帮忙,看看我应该怎么循环呢?
      

  7.   

    public string MerchandiseSeek()
    {
    string Merchandise_Seek = ""; DataTable dt = Showinfo_Data;
    if(dt!=null)
    {
    Merchandise_Seek += "<table  width='100%'>";
    for(int i=0;i<dt.Rows.Count;i++)
    {
    if(i<Info_Amount)
    {
    Merchandise_Seek += "<tr>";
    Merchandise_Seek += "<td align='left' width=50%><span class='span4'><a class='span4' href='"+dt.Rows[i]["id"].ToString()+"'>"+Return_sortstring(dt.Rows[i]["name"].ToString(),InfoShow_Amount)+"</a></span></td>";
    int temp = i+1;
    if(temp<=dt.Rows.Count & temp <Info_Amount)
    {
    Merchandise_Seek += "<td align='left' width=50%><span class='span4'><a class='span4' href='"+dt.Rows[i+1]["id"].ToString()+"'>"+Return_sortstring(dt.Rows[i+1]["name"].ToString(),InfoShow_Amount)+"</a></span></td>";
    i++;
    }
    Merchandise_Seek += "</tr>";
    }
    }
    Merchandise_Seek += "</table>";
    }
    return Merchandise_Seek;
    }
    已经搞定了,谢谢诸位
      

  8.   

    Click the link to solve your problem.Good luck!