GridView从一个索引到另一个索引

时间:2015-11-02 19:40:10

标签: c# asp.net gridview indexing foreach

我有一个gridview,对于gridview的一部分,我想要做一些事情而另一部分,我想做另一件事。 从索引0到索引14,执行此操作。 从指数15到30,做到这一点。

我的想法是我正在生成一个pdf文件,如果GridView有0-14行,它会创建一个页面。如果它有15-30行,它会创建另一个具有不同设计的页面,依此类推...... 这发生在"打印"的点击事件中。按钮。

是否可能以及如何?

以下是我的一些代码:

string listeMarchandises = String.Empty;                    
var i = 0;

foreach (GridViewRow row in GridViewMarchandises.Rows)
{
    if (i <= 14)
    {
        if (row.RowType == DataControlRowType.DataRow)
        {
            Label LabelNumCpte = (Label)row.FindControl("LabelNumCpte");
            Label LabelNumCc = (Label)row.FindControl("LabelNumCc");
            Label LabelNbrCom = (Label)row.FindControl("LabelNbrCom");
            TextBox TextBoxNbrRec = (TextBox)row.FindControl("TextBoxNbrRec");
            Label LabelDescription = (Label)row.FindControl("LabelDescription");
            TextBox TextBoxCoutUnitaire = (TextBox)row.FindControl("TextBoxCoutUnitaire");
            Label LabelCoutTotal = (Label)row.FindControl("LabelCoutTotal");
            listeMarchandises += "<tr valign=\"top\"><td align=\"center\">" + LabelNumCpte.Text.Trim() + "</td><td align=\"center\">" + LabelNumCc.Text.Trim() + "</td><td align=\"center\">" + LabelNbrCom.Text.Trim() + "</td><td align=\"center\">" + TextBoxNbrRec.Text.Trim() + "</td><td>&nbsp;" + LabelDescription.Text.Trim() + "</td><td align=\"right\">" + TextBoxCoutUnitaire.Text.Trim() + " $&nbsp;" + "</td><td align=\"right\">" + LabelCoutTotal.Text.Trim() + " $&nbsp;" + "</td></tr>";
        }
        i++;
    }

    if (i >= 15 && i <= 30)
    {
        //do the other thing
    }
}

提前致谢!

1 个答案:

答案 0 :(得分:0)

使用行数据绑定事件:

    protected void gdv_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        var index = e.Row.RowIndex;
        if(index > 14)
        {
             //Do stuff
        }
        else if (index >= 15 && index <= 30)
        {
             //Do other stuff
        }
    }