برگزیده های پرشین تولز

چن صفحه ای کردن GridView

fivestar

Registered User
تاریخ عضویت
14 نوامبر 2006
نوشته‌ها
73
لایک‌ها
0
قبل از اینکه سوالم رو مطرح کنم بگم که تو این فروم و جاهای دیگه در مورد سوالم مطلب زیاد دیدم ولی نتونستم جوابم رو پیدا کنم !!

( اگر بخوایم با لود شدن صفحه دیتا ها تو GridView چند صفحه ای نشون داده بشه ، میتونیم از کنترل asp:SqlDataSource تو قسمت Design صفحه استفاده کنیم که امتحان کردم و جواب داد )


تو صفحه یه دکمه داریم که وقتی کلیک میشه GridView دیتا ها رو تو چند صفحه نشون میده.

صفحه اول درست نشون داده میشه ولی وقتی میخوام برم به صفحه دوم، GridView غیب میشه !!!!!!!!!

برای رخداد PageIndexChanging هم کد زیر رو نوشتم :

کد:
protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView.PageIndex = e.NewPageIndex;
                       GridView.DataBind();
        }

خاصیت AllowPaging رو هم برابر True قرار دادم ولی باز میخوام برم به صفحه دوم، GridView غیب میشه !!!!!

مشکل کجاست ؟
 

fivestar

Registered User
تاریخ عضویت
14 نوامبر 2006
نوشته‌ها
73
لایک‌ها
0
کد:
public void BindGridView()
    {
        string CS = (string)ConfigurationManager.AppSettings["ConString"];
        SqlConnection Cnn = new SqlConnection(CS);

        string strsql = "select * from T1 ";

        SqlDataAdapter SDR = new SqlDataAdapter(strsql, Cnn);
        
        try
        {
            Cnn.Open();

            DataSet DS = new DataSet();
            SDR.Fill(DS, "T1");
            GridVeiw.DataSource = DS.Tables["T1"].DefaultView;
            GridVeiw.DataBind();
        }
        catch (SqlException ex)
        {
            Response.Write(ex.Message.ToString());
        }
        finally
        {
            
            if ((Cnn.State != ConnectionState.Closed)) Cnn.Close();
        }

    }


    protected void Button1_Click(object sender, EventArgs e)
    {
        BindGridView();
    }


    protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridVeiw.PageIndex = e.NewPageIndex;
        GridVeiw.DataBind();
    }


خاصیت AllowPaging برابر True است . فقط وقتی می خوام برم به صفحه دوم ، GridView غیب میشه !!!!

راستی dataSource به GridView اختصاص ندادم

مشکل کجاست ؟؟
 

Graveworm

Registered User
تاریخ عضویت
23 می 2005
نوشته‌ها
1,071
لایک‌ها
12
محل سکونت
Tehran
فکر میکنم مشکل اینجاست که در protected void GridView_PageIndexChanging
شما از GridVeiw.DataBind استفاده کردید و چون datasource وجود نداره ، خوب به چی bind کنه ؟
اون datasource که یه بار به gridview دادید در یک scope دیگه بوده و به این تابع ، مقداری بر نمیگردونه
 

fivestar

Registered User
تاریخ عضویت
14 نوامبر 2006
نوشته‌ها
73
لایک‌ها
0
دمت گرم . درست میگی . جواب رو پیدا کردم

باید اینجوری تغییر کنه :

کد:
protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
           
BindGridView();
 GridView.PageIndex = e.NewPageIndex;
                       
        }
 
بالا