PDA

View Full Version : شماره گذاری ردیف های grid view



don_alen
پنج شنبه 29 مرداد 1388, 03:44 صبح
چطور میشه که وواسه ردیفای GV از 1 شماره گذاشت تا آخر

البته paging هم نداشته باشه مهم نیست

kohyar
پنج شنبه 29 مرداد 1388, 14:30 عصر
با سلام
دوست عزيز يك فيلد از نوع template Field به گريد ويو اضافه كن
بعد در داخل پروسيجر RowDataBound كد زير رو بنويس



if (e.Row.RowType==DataControlRowType.DataRow)
{
Label lbltemp = (Label)e.Row.FindControl("Label1");
if (GridView1.PageIndex < 1)
lbltemp.Text = Convert.ToString(e.Row.RowIndex + 1);
else
lbltemp.Text = Convert.ToString((e.Row.RowIndex + 1) + ((GridView1.PageIndex) * GridView1.PageSize));
}

kohyar
پنج شنبه 29 مرداد 1388, 14:32 عصر
البته اينم به جواب بالا اضافه كنم كه بايد داخل Template Field يك ليبل هم بذاري كه اسمش رو من تو اين كد label1 گذاشتم

don_alen
جمعه 30 مرداد 1388, 12:23 عصر
مرسی .

دقیقا جواب داد.

این کدو از جایی گرفتین(کجا ؟) یا خودتون نوشتین؟

minamorsali
شنبه 31 مرداد 1388, 18:23 عصر
سلام
من یه روش بلدم، کمی ساده تر بود. گفتم بگم شاید به کار بیاد.
1- اول مثل دوستمون kohyar یه template field اضافه کردم، اما بصورت زیر:


<asp:TemplateFieldHeaderText="شماره ردیف">
<ItemTemplate>
<%# System.Convert.ToString(NumberRadif())%>
</ItemTemplate>
</asp:TemplateField>

2- بعد از این کار تنها کاری که می کنم اینه که قبل از رویداد لود صفحه ام دستورات زیر را اضافه می کنم:


int i = 1;
publicstring NumberRadif()
{
returnConvert.ToString(i++);
}


تمام شد! یه ستون اضافه شد که در ازای هر رکورد یه شماره می ندازه، البته این شماره الزاما از یک نیست، از هر شماره ای که شما i رو هنگام تعریف برابر اون قرار بدین.
البته لازم می دونم بگم که این روش رو از دوستم یاد گرفتم.

kohyar
یک شنبه 01 شهریور 1388, 01:41 صبح
وظيفه بود دوست عزيز
اين كد رو خودم نوشتم و تو خيلي از برنامه هام استفاده كردم