سلام
من بعنوان data source به یک gridview یک sql datasource بایند کردم که حاوی یک store procedure است حالا مشکل من اینه که امکان pagination در gridview در صفحات 2 به بعد صفحه سفید میاره .
سلام
من بعنوان data source به یک gridview یک sql datasource بایند کردم که حاوی یک store procedure است حالا مشکل من اینه که امکان pagination در gridview در صفحات 2 به بعد صفحه سفید میاره .
سلام
کسی نیست مرا یاری کند
یعنی چی سفید میاره ، یعنی هیچ رکوردی رو بر نمی گردونه ؟
این نکته رو توجه داشته باشید شما باید تو رویداد PgaeIndexChanging دوباره اطلاعات رو بایند کنید .
به خاطر اینه که اون از حالت ویزارد استفاده میکنه ،......
فکر میکن به خاطر رفرش شدن صفحه هست ، علت دقیق علمیشو نمیدونم چیه
در حالت store procedure هم از ویزارد استفاده میشه . فرقی نمیکنه !!!
خير.در store procedure از ويزارد استفاده نميكنه بلكه از اون چيزي كه نوشتي استفاده ميكنه.اين كجاش ويزارده.بهر حال همونطور كه دوست خوبمون در بالا عرض كردن بايد تو رويداد PgaeIndexChanging دوباره بايند بشه.
ok ممنون از همتون ولی من با ویزاد SQL data source این کار رو انجام دادم حالا من نمی دونم شما چطور میگید نمیشه .
دوست عزیز با SQL data source فرقی نمکینه که SP باشه یا Query هردو یک کارو انجام میده.
خوده SQL datasource هست که به اون Pgaeindex رو کنترل میکنه . در ضمن وقتی که دیتا سورس را برای گرید تعریف میکنید خودش به خودی خود Delete ، Insert و Update رو تشخیص میده ولی اگر از روش دستی استفاده کنی باید همه اینها را براش تعریف کنی
من باید توی رویداد PgaeIndexChanging چی بنویسم ؟
من باید توی رویداد PgaeIndexChanging چی بنویسم ؟this.GridView1.PageIndex = e.NewPageIndex;
//Bind GridView Code:
بازم صفحه بعد رو سفید میاره ممکنه مشکل از Datasource باشه که صفحه بندی رو ساپورت نمی کنه ؟
شما يك دفعه به صورت دستي ديتاگريد را بايند كنيد :
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();
و سپس با كدي كه قبلاً داده شد ديتاگريد را صفحه بندي بكنيد .
نتيجه را اعلام كنيد .