با سلام من نیاز دارم که محصولات رو در سه ستون نمایش بدم با امکان اینکه محصولات دیگر در صفحات بعدی باشه یعنی پیجینگ بشه از کدوم کنترل استفاده کنم و چطور پیچینگ کنم
Printable View
با سلام من نیاز دارم که محصولات رو در سه ستون نمایش بدم با امکان اینکه محصولات دیگر در صفحات بعدی باشه یعنی پیجینگ بشه از کدوم کنترل استفاده کنم و چطور پیچینگ کنم
با سلام ، شما میتونید از دیتا لیست هم استفاده کنید.
دیتا لیست چطوری paging میشه من در سایت اقای دلشاد دیدم که ایشون لیست ویو رو بهتر دونسته بودن در مورد paging
بعید میدنم فرقی بکنه :
من معمولا از این روش برای paging استفاده مکینم ، ولی خوب میشه بهینه ترش هم کرد :
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ObjectDataSource1.Select();
pds.AllowPaging = true;
pds.PageSize = Convert.ToInt32(ComboCount.SelectedValue);
int cur;
int count = 0;
decimal PdsCount = Convert.ToDecimal(pds.DataSourceCount) / Convert.ToDecimal(pds.PageSize);
String s = PdsCount.ToString();
String[] test = s.Split('.');
if (test.Count() > 1 && Convert.ToDecimal(test[1]) > 0)
PdsCount = Convert.ToDecimal(test[0]) + 1;
if (Request.QueryString["page"] != null)
cur = Convert.ToInt32(Request.QueryString["page"]);
else
cur = 1;
pds.CurrentPageIndex = cur - 1;
LitPage.Text += "<a class='Repeater'>صفحه " +Persia.Number.ConvertToPersian( Convert.ToString(pds.CurrentPageIndex + 1)) + " از " +Persia.Number.ConvertToPersian( Convert.ToString(PdsCount)) + "</a>";
if (pds.CurrentPageIndex + 1 > 1)
{
LitPage.Text += "<a class='Repeater' href='" + Request.CurrentExecutionFilePath + "?page=" + 1 + "&Count=" + ComboCount.SelectedIndex.ToString() + "&Group="+group+"'>ابتدا</a>";
LitPage.Text += "<a class='Repeater' href='" + Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(pds.CurrentPageIndex) + "&Count=" + ComboCount.SelectedIndex.ToString() + "&Group=" + group + "'><</a>";
LitPage.Text += "<P class='PReap'>.......</p>";
}
for (int i = 1; i <= PdsCount; i++)
{
if (i >= pds.CurrentPageIndex)
{
if (count < 3)
{
count++;
if (pds.CurrentPageIndex + 1 == i)
LitPage.Text += "<a class='RepeaterSelected' href='" + Request.CurrentExecutionFilePath + "?page=" + i + "&Count=" + ComboCount.SelectedIndex.ToString() + "&Group=" + group + "'>" + Persia.Number.ConvertToPersian(i) + "</a>";
else
LitPage.Text += "<a class='Repeater' href='" + Request.CurrentExecutionFilePath + "?page=" + i + "&Count=" + ComboCount.SelectedIndex.ToString() + "&Group=" + group + "'>" + Persia.Number.ConvertToPersian(i) + "</a>";
}
}
}
if (pds.CurrentPageIndex + 1 != PdsCount)
{
LitPage.Text += "<P class='PReap'>.......</p>";
LitPage.Text += "<a class='Repeater' href='" + Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(pds.CurrentPageIndex + 2) + "&Count=" + ComboCount.SelectedIndex.ToString() + "&Group=" + group + "'>></a>";
LitPage.Text += "<a class='Repeater' href='" + Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(PdsCount) + "&Count=" + ComboCount.SelectedIndex.ToString() + "&Group=" + group + "'>انتها</a>";
}
dl.DataSource = pds;
dl.DataBind();
ترکیب objectDataSource و Listview و asp.net pager می تونه به راحتی برای شما Paging بهینه رو فراهم بیاره.
توضیح اینکه asp.net pager به سادگی دیتای کنترل Listview رو صفحه بندی می کنه. ( کلا" هر کنترلی که اینترفیس IPageableItemContainer رو Implement کرده باشه می تونه با pager دات نت کار کنه. )
ObjectDataSource هم دو تا Property داره به نام SelectMethod و SelectMethodCount که در واقع delegateهایی هستند به متدهایی که شما ، در اون متدها پیجینگ رو هندل می کنید.