需要帮助在GridView中实现DataList的RepeatColumns!

时间:2011-04-21 12:24:05

标签: c# asp.net gridview

默认情况下,RepeatColumns控件中没有GridView属性,我们可以在行中添加其他单元格,就像在DataList中一样。 我可以使用DataList,但它没有我真正需要的寻呼机支持。所以我正在寻找将此类功能添加到GridView的方法。所以现在我想出来:

protected void GvwCollection_DataBound(object sender, EventArgs e)
    {
        for (int i = 0; i <= GvwCollection.Rows.Count; i++)
        {
            int x = 0;
            int y = 0;

            x = i % 4;
            if (i != 0 && x != 0)
            {
                try
                {
                    GvwCollection.Rows[y].Cells.Add(GvwCollection.Rows[i].Cells[0]);
                }
                catch { }
            }
            else { y = i; }
        }
    }

但它没有按照原样发挥作用 最后,我需要得到这样的东西(行中有4个单元格):

1 | 2  | 3  | 4
5 | 6  | 7  | 8
9 | 10 | 11 | 12

3 个答案:

答案 0 :(得分:1)

为什么不使用ListView - 它可以根据您的要求进行平铺。请参阅thisthis

BTW,您也可以在不使用DataPager控件的情况下使用DataList进行分页 - 请参阅this

答案 1 :(得分:1)

试试这个

protected void dgEmp_DataBound(object sender, EventArgs e)
{
    int y = 0;
    for (int i = 0; i < dgEmp.Rows.Count; i++)
    {

        if (i%4 ==0 && i!=0)
        {
            y++;
       }
        dgEmp.Rows[y].Cells.Add(dgEmp.Rows[i].Cells[0]);

    }
}

答案 2 :(得分:0)

使用Table服务器控件并以编程方式构建所有行/列。这将是最简单的方法,因为您可以完全控制UI。 gridview并不是真正意义上的。

HTH。