آبجی
14th February 2010, 05:11 PM
در روال DataBound کنترل GridView در ASP.NET 2.0، در صورتی که بخواید وضعیت ردیف یکی از ردیف های GridView رو برای حالت Edit بررسی کنید، میشه به شکل زیر عمل کرد:
If (e.Row.RowType = DataControlRowType.DataRow) And (e.Row.RowState = DataControlRowState.Edit) Then
در کد فوق گفته شده که اعمالی که انجام میشه بر روی ردیف هایی هست که حاوی داده هستند و در مد ویرایش قرار دارند.
مشکلی که وجود داره اینه که در ردیف های فرد (که در دات نت به عنوان ردیف های Alternate شناخته میشن)، DataControlRowState مقدار Edit رو نداره!
در نتیجه دستور فوق بر روی ردیف های فرد تاثیری نخواهد داشت و تنها ردیف های زوج تحت تاثیر دستورات قرار خواهند گرفت…
این مشکلی بود که کمی وقت من رو برای بر طرف کردن اون گرفت.
برای حل این مشکل، من مقدار RowState رو به ازای هر ردیف چاپ کردم و دیدم که این خاصیت برای ردیف های Alternate، مقدار “Alternate, Edit” رو بر میگردونه!!!
پس دستور فوق رو به شکل ذیل تصحیح کردم:
If ((e.Row.RowType = DataControlRowType.DataRow) And (e.Row.RowState = DataControlRowState.Edit)) Or ((e.Row.RowType = DataControlRowType.DataRow) And (e.Row.RowState.ToString() = “Alternate, Edit”)) Then
از این نکته در تاپیک اعمال متداول با GridView در بخش ASP.NET سایت برنامه نویس استفاده کردم.
If (e.Row.RowType = DataControlRowType.DataRow) And (e.Row.RowState = DataControlRowState.Edit) Then
در کد فوق گفته شده که اعمالی که انجام میشه بر روی ردیف هایی هست که حاوی داده هستند و در مد ویرایش قرار دارند.
مشکلی که وجود داره اینه که در ردیف های فرد (که در دات نت به عنوان ردیف های Alternate شناخته میشن)، DataControlRowState مقدار Edit رو نداره!
در نتیجه دستور فوق بر روی ردیف های فرد تاثیری نخواهد داشت و تنها ردیف های زوج تحت تاثیر دستورات قرار خواهند گرفت…
این مشکلی بود که کمی وقت من رو برای بر طرف کردن اون گرفت.
برای حل این مشکل، من مقدار RowState رو به ازای هر ردیف چاپ کردم و دیدم که این خاصیت برای ردیف های Alternate، مقدار “Alternate, Edit” رو بر میگردونه!!!
پس دستور فوق رو به شکل ذیل تصحیح کردم:
If ((e.Row.RowType = DataControlRowType.DataRow) And (e.Row.RowState = DataControlRowState.Edit)) Or ((e.Row.RowType = DataControlRowType.DataRow) And (e.Row.RowState.ToString() = “Alternate, Edit”)) Then
از این نکته در تاپیک اعمال متداول با GridView در بخش ASP.NET سایت برنامه نویس استفاده کردم.