PDA

View Full Version : قالب آماده برای gridview , pager



sg.programmer
پنج شنبه 15 دی 1390, 15:34 عصر
آیا قالب آماده برای gridview , pager وجود داره

rahmatr
جمعه 16 دی 1390, 01:50 صبح
یه راهی که من استفاده کردم :
شما باید متد InitializePager گریدویو را override کنید و سپس style دلخواه را اعمال کنید.
protected override void InitializePager(GridViewRow row, int columnSpan, PagedDataSource pagedDataSource)
{
base.InitializePager(row, columnSpan, pagedDataSource);

Table pagerTable = (Table)row.Cells[0].Controls[0];
foreach (TableCell cell in pagerTable.Rows[0].Cells)
{
WebControl pageButton = (WebControl)cell.Controls[0];
if (pageButton is Label)
{
pageButton.CssClass = "currentPageButton";
}
else if (pageButton is LinkButton)
{
pageButton.CssClass = "pageButton";
}
}

pagerTable.Rows[0].Cells.Add(new TableCell() { Text = " تعداد رکورد : " + pagedDataSource.DataSourceCount.ToString("n0") });
}

البته باید دو کلاس currentPageButton و pageButton رو به فایل css اضافه کنید.
خط آخر هم برای نمایش تعداد رکوردهاست.

این هم عکسش:
80232

EnKamran
جمعه 16 دی 1390, 02:28 صبح
مهندس جان کلاس ها رو هم میذاری ؟
ممنون

rahmatr
جمعه 16 دی 1390, 02:59 صبح
.pageButton
{
border: 1px solid #CCCCCC;
padding: 1px 5px;
font-size: 12px;
background-color: #FFFFFF;
border-radius: 4px;
display: inline-block;
}
.currentPageButton
{
padding: 1px 5px;
font-size: 12px;
background-color: #FFFFA8;
border: 1px solid #FFCC99;
color: #000000;
border-radius: 4px;
display: inline-block;
}


البته به دلخواه میتونید تغییرشون بدید.

sg.programmer
جمعه 16 دی 1390, 09:49 صبح
تشکر مهندس
کجا و چطوری باید این تابع را صدا زد؟
من در codebhind قرار میدم ودر Page_Load صدا زدم خطا میده


protected void Page_Load(object sender, EventArgs e)
{
//InitializePager(GridView1, 2, SqlDataSource1);
}

rahmatr
جمعه 16 دی 1390, 13:42 عصر
از کلمه override معلومه که کجا باید استفاده شود.

باید کلاسی جدید بسازید که از کلاس GridView ارث برده باشد.
می توانید به صورت یک پروژه جدا بسازید و dll تولید شده رو به Toolbox اضافه کنید. من این کار رو نکردم چون احتیاجی به آن نداشتم. تمام کنترلهای من در زمان اجرا ساخته می شوند و اصلا Design ندارم.
خودتون اینکار رو بکنید.

پ.ن. این لقب مهندس رو برای کسی بکار ببرید که باهاش حال کند. من که حالم بهم میخوره!:لبخند:

reza4359
شنبه 17 دی 1390, 00:11 صبح
دوست عزیز حالا اگه میشه یک نمونه بذارید
من با فراخوانی این متد مشکل دارم
ممنون