2

我想用这些“组件”做一个搜索框:文本框、按钮和带有分页的网格视图。在我的gridview 中有姓名、姓氏和个人代码。这个想法,用户在文本框中写一些东西并按下按钮,然后在第一页中搜索角色代码,如果找到,则我更改背景行,否则,继续第二页,如果找到则显示此页面并更改背景。我有一些东西,但我的问题是总是比较第一页的个人代码。我的代码:

    protected void Button_Click(object sender, EventArgs e)
    {
        string search= txtSearch.Text;

        for (int pageNumber= 0; pageNumber< MyGridView.PageCount; pageNumber++)
        {
            foreach (GridViewRow gr in MyGridView.Rows)
            {
                //Cells[2] is 'personal code'
                bool found = gr.Cells[2].Text.Contains(search);
                if (found)
                {
                    //MyGridView.PageIndex = pageNumber;
                    //MyGridView.DataBind();
                    MyGridView.Rows[gr.RowIndex].Style.Add("BACKGROUND-COLOR", "#aaccee");
                    break;
                }
            }
        }
    }

有这样的事情吗?

 gr.Page[X].Cells[Y].Text 

谢谢

4

1 回答 1

0

尝试这个:

private bool _isStop = false;
protected void Button_Click(object sender, EventArgs e)
{
    string search= txtSearch.Text;

    for (int i= 0; i< MyGridView.PageCount; i++)
    {
        MyGridView.PageIndex = i;
        //MyGridView populate page here (MyGridView_View(sender, e))
        for (int j=0; j< MyGridView.Rows.Count; j++)
        {
            GridViewRow row = MyGridView.Rows[j];

            if (row.Cells[2].Text.Contains(search)) // cell[2] is personal code as you said.
            {
                _isStop = true;
                row.ForeColor = ColorTranslator.FromHtml("red");
                break;
            }
        }

        if (flag)
            break;
    }

    if (!flag)
        MyGridView.PageIndex = 0;
        //MyGridView_View(sender, e)
}

我没有尝试这种方法,但这会给你一个想法。

于 2013-06-15T04:41:50.383 回答