PDA

View Full Version : سوال: مشکل pagination در gridview در هنگام استفاده از store procedure



saeed_Z_F
شنبه 06 مهر 1387, 10:30 صبح
سلام
من بعنوان data source به یک gridview یک sql datasource بایند کردم که حاوی یک store procedure است حالا مشکل من اینه که امکان pagination در gridview در صفحات 2 به بعد صفحه سفید میاره .

saeed_Z_F
شنبه 13 مهر 1387, 10:22 صبح
سلام

کسی نیست مرا یاری کند

mahdi_farhani
شنبه 13 مهر 1387, 10:38 صبح
یعنی چی سفید میاره ، یعنی هیچ رکوردی رو بر نمی گردونه ؟
این نکته رو توجه داشته باشید شما باید تو رویداد PgaeIndexChanging دوباره اطلاعات رو بایند کنید .

saeed_Z_F
شنبه 13 مهر 1387, 10:57 صبح
یعنی چی سفید میاره ، یعنی هیچ رکوردی رو بر نمی گردونه ؟
این نکته رو توجه داشته باشید شما باید تو رویداد PgaeIndexChanging دوباره اطلاعات رو بایند کنید .
ممنون از جوابتون من در رویداد PgaeIndexChangingاین کار رو نمی کنم ولی برام سوال چرا با Data source هایی که با query داده رو میارن مشکلی نداره و بدون رویداد PgaeIndexChanging صفحه بعد رو نمایش میده .

mahdi_farhani
شنبه 13 مهر 1387, 11:07 صبح
به خاطر اینه که اون از حالت ویزارد استفاده میکنه ،......
فکر میکن به خاطر رفرش شدن صفحه هست ، علت دقیق علمیشو نمیدونم چیه

saeed_Z_F
شنبه 13 مهر 1387, 11:20 صبح
در حالت store procedure هم از ویزارد استفاده میشه . فرقی نمیکنه !!!

aryaman
شنبه 13 مهر 1387, 11:42 صبح
خير.در store procedure از ويزارد استفاده نميكنه بلكه از اون چيزي كه نوشتي استفاده ميكنه.اين كجاش ويزارده.بهر حال همونطور كه دوست خوبمون در بالا عرض كردن بايد تو رويداد PgaeIndexChanging دوباره بايند بشه.

saeed_Z_F
شنبه 13 مهر 1387, 11:55 صبح
ok ممنون از همتون ولی من با ویزاد SQL data source این کار رو انجام دادم حالا من نمی دونم شما چطور میگید نمیشه .

mahdi_farhani
شنبه 13 مهر 1387, 12:00 عصر
دوست عزیز با SQL data source فرقی نمکینه که SP باشه یا Query هردو یک کارو انجام میده.
خوده SQL datasource هست که به اون Pgaeindex رو کنترل میکنه . در ضمن وقتی که دیتا سورس را برای گرید تعریف میکنید خودش به خودی خود Delete ، Insert و Update رو تشخیص میده ولی اگر از روش دستی استفاده کنی باید همه اینها را براش تعریف کنی

saeed_Z_F
چهارشنبه 01 آبان 1387, 10:44 صبح
من باید توی رویداد PgaeIndexChanging چی بنویسم ؟

merlin_vista
چهارشنبه 01 آبان 1387, 11:13 صبح
من باید توی رویداد PgaeIndexChanging چی بنویسم ؟

this.GridView1.PageIndex = e.NewPageIndex;
//Bind GridView Code:

saeed_Z_F
چهارشنبه 01 آبان 1387, 11:54 صبح
بازم صفحه بعد رو سفید میاره ممکنه مشکل از Datasource باشه که صفحه بندی رو ساپورت نمی کنه ؟

merlin_vista
چهارشنبه 01 آبان 1387, 12:02 عصر
شما يك دفعه به صورت دستي ديتاگريد را بايند كنيد :

SqlDataAdapter dat_allMsg = new SqlDataAdapter("Select_MessageInbox", con);
dat_allMsg.SelectCommand.CommandType = CommandType.StoredProcedure;
dat_allMsg.SelectCommand.Parameters.AddWithValue("@id", id);
DataTable dt_allMsg = new DataTable();
dat_allMsg.Fill(dt_allMsg);
this.GridView1.DataSource = dt_allMsg;
this.GridView1.DataBind();

و سپس با كدي كه قبلاً داده شد ديتاگريد را صفحه بندي بكنيد .
نتيجه را اعلام كنيد .