PDA

View Full Version : مشکل در صفحه بندی repeater



mjt10063
دوشنبه 06 خرداد 1392, 10:50 صبح
سلام دوستان من به یه مشکلی بر خوردم
ریپرتر رو با استفاده از کد زیر صفحه بندی میکنم
توی صفحه بندی مشکلی ندارم ولی موقع نمایش اطلاعات تصادفی به مشکل بر می خورم و احتمال اینکه توی صفحه بعدی هم مطالب تکراری ظاهر بشه خیلی زیاد

خواهشن کمک کنید باید چه کار کنم من

کد صفحه بندی :
private int LoadData()
{
//نمایش سوالات
SqlDataAdapter sda = new SqlDataAdapter("Select_Soal", scon);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;
sda.SelectCommand.Parameters.AddWithValue("@k_dars", DropDownList1.SelectedItem.Value);
sda.SelectCommand.Parameters.AddWithValue("@user_name", User.Identity.Name);
DataTable dt = new DataTable();
dt.Clear();
sda.Fill(dt);

PagedDataSource pds = new PagedDataSource();
pds.DataSource = dt.DefaultView;
pds.AllowPaging = true;
pds.PageSize = 2;
pds.CurrentPageIndex = PageNumber;
int countp = pds.PageCount;

if (pds.PageCount > 0)
{
LinkButton1.Visible = true;
LinkButton5.Visible = true;
LinkButton6.Visible = true;
LinkButton7.Visible = true;
Label3.Visible = true;
Label3.Text = "صفحه :" + Convert.ToString(PageNumber + 1) + " از :" + Convert.ToString(pds.PageCount);
}
else
{
LinkButton1.Visible = false;
LinkButton5.Visible = false;
LinkButton6.Visible = false;
LinkButton7.Visible = false;
Label3.Visible = false;
}

LinkButton1.Enabled = !pds.IsFirstPage;
LinkButton5.Enabled = !pds.IsLastPage;
LinkButton6.Enabled = !pds.IsFirstPage;
LinkButton7.Enabled = !pds.IsLastPage;

Repeater1.DataSource = pds;
Repeater1.DataBind();

return countp;
}
public int PageNumber
{
get
{
if (ViewState["PageNumber"] != null)
return Convert.ToInt32(ViewState["PageNumber"]);
else
return 0;
}
set
{
ViewState["PageNumber"] = value;
}
}

و اینم کد واکشی اطلاعات از جدول:

ALTER PROCEDURE Select_Soal

(
@k_dars int = 5,
@user_name nvarchar(15)
)

AS
Begin
select t_q.k_dars, t_q.id_q, t_q.Q, t_a.id_a, t_a.a1, t_a.a2, t_a.a3, t_a.a4 from t_q inner join t_a on t_q.id_q=t_a.id_q where (t_q.k_dars =@k_dars) and (t_q.id_q NOT IN (select id_q from t_p where user_name=@user_name and a_true_k <> '0')) ORDER BY NEWID()
End
RETURN

forestasphalt
دوشنبه 06 خرداد 1392, 11:14 صبح
شما داخل دکمه صفحه بعد یا قبل چه کدی مینویسی؟
از شماره صفحات کم یا اضافه میکنی درسته؟
لطفا کدهای اونا رو هم بذار

mjt10063
دوشنبه 06 خرداد 1392, 20:22 عصر
اساتید منتظر یاری سبزتان هستم

mjt10063
سه شنبه 07 خرداد 1392, 10:56 صبح
دوستان کمک کنید