0

ページの読み込みにグリッドビューがあります。チェック関数を使用してボタンのいくつかの画像を変更しますが、ページのインデックスを変更すると。ページの読み込みはプログラムで呼び出されません GridView1_PageIndexChanging、GridView1_SelectedIndexChanged、GridView1_PageIndexChanged イベントを試しました

ページ読み込み中のコードで、イベントにコピーしたのですがうまくいきません

        DBConnection db = new DBConnection();


        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            GridViewRow gvrow = GridView1.Rows[i];
            ImageButton ib = (ImageButton)gvrow.Controls[1].Controls[0];

            string feedUrl = ((HiddenField)GridView1.Rows[i].FindControl("HiddenField1")).Value;



            bool res = db.CheckAddedFeeds(feedUrl, User_Name);
            if (res)
            {
                ib.ImageUrl = "~/images/delete.png";
            }

        }
4

1 に答える 1

0

まず、以下のように gridview をバインドするための関数を作成する必要があります

private void BindGridView()
{ 
        // place your bind grid code here..
    DBConnection db = new DBConnection();

    for (int i = 0; i < GridView1.Rows.Count; i++)
    {
        GridViewRow gvrow = GridView1.Rows[i];
        ImageButton ib = (ImageButton)gvrow.Controls[1].Controls[0];

        string feedUrl = ((HiddenField)GridView1.Rows[i].FindControl("HiddenField1")).Value;



        bool res = db.CheckAddedFeeds(feedUrl, User_Name);
        if (res)
        {
            ib.ImageUrl = "~/images/delete.png";
        }

    }


}

apex コードビハインドのページ読み込みでこの関数を呼び出します

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        BindGridView();
    }

}

以下のようなコード ビハインドで Paging イベントを処理します

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindGridView();
}

これがあなたを助けることを願っています...

于 2012-04-09T10:46:56.400 に答える