PDA

View Full Version : مشکل در کدنویسی



merychobi
پنج شنبه 07 تیر 1386, 17:34 عصر
سلام
کدهای قسمت row _created اعمال متداول با گراید ویو را به زبان #c تبدیل کردم ولی هنگام اجرا به این قسمت خطا می دهد .

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0019: Operator '==' cannot be applied to operands of type 'System.Web.UI.WebControls.DataControlRowType' and 'System.Web.UI.WebControls.ListItemType'


else if ((e.Row.RowType==ListItemType.Item) || (e.Row.RowType==ListItemType.AlternatingItem))

babi_wd
پنج شنبه 07 تیر 1386, 21:10 عصر
دوتا شی از انواع مختلف رو دارین با هم مقایسه میکنید
که امکان پذیر نیست
به توضیحات خطا دقت کنید واضحه

merychobi
پنج شنبه 07 تیر 1386, 22:04 عصر
بله متوجه شدم
ولی این دقیقا همان کدی است که آقای راد نوشته اند(البته به زبان c#)

babi_wd
پنج شنبه 07 تیر 1386, 22:11 عصر
من وی بی بلد نیستم
نمیدونم اونجا چرا ایراد نگرفته
انگار باید منتظر موند تا خودشون جواب بدن

Behrouz_Rad
جمعه 08 تیر 1386, 11:12 صبح
ListItemType برای DataGrid، DataList و برخی کنترل های دیگه استفاده میشه.
GridView نوع ItemType اختصاصی خودش با نام DataControlRowType رو داره که باید از اون استفاده کنی.
این نوع، تمامی ردیف های حاوی داده رو با نام DataRow میشناسه و اگر نیاز داشته باشی که از Alternate هم استفاده کنی، در این حالت باید از خاصیت RowState و مقدار DataControlRowState.Alternate استفاده کنی.
کد اصلاح شده ی شما به شکل زیر خواهد بود:


if (e.Row.RowType == DataControlRowType.DataRow)

موفق باشید.

merychobi
جمعه 08 تیر 1386, 20:12 عصر
سلام
از آقای راد تشکر میکنم وخواهش میکنم معادل اصلاح شده همچنین توضیح کمی راجع به این دو خط نیز بدهند چون این دو خط نیز خطا دارد

در مورد اول این خطا رو میدهد
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0266: Cannot implicitly convert type 'System.Web.UI.Control' to 'System.Web.UI.WebControls.Literal'. An explicit conversion exists (are you missing a cast?)





Literal ref_LitRowNumberNormal = e.Row.FindControl("litRowNumberNormal");



elseif ((e.Row.RowType == ListItemType.Footer))

Behrouz_Rad
جمعه 08 تیر 1386, 22:32 عصر
برای مورد اول در #C نیاز به Type Casting به Literal داری...

در مورد خطای دوم هم در پست قبلی توضیح دادم.

انشاا... از این به بعد پست هایی که در مورد کد معادل یک زبان دات نتی در زبان دیگر دات نت هستند حذف میشن!

موفق باشید.

babi_wd
جمعه 08 تیر 1386, 22:47 عصر
انشاا... از این به بعد پست هایی که در مورد کد معادل یک زبان دات نتی در زبان دیگر دات نت هستند حذف میشن!

با کمال احترام میشه دلیلش رو هم بگین؟

Behrouz_Rad
شنبه 09 تیر 1386, 07:56 صبح
با کمال احترام میشه دلیلش رو هم بگین؟
چون بخش های مرتبط با دات نت کم کم داره از این دست تاپیک ها پر میشه.
اگر کسی دات نت کار می کنه، باید بدونه که ابزارهای مبدلی برای تبدیل یک زبان مبتنی بر پلت فرم دات نت به زبان دیگه وجود دارند.
همون طور که من، تو و دیگران تا به حال چندین بار این ابزارها رو معرفی کردیم...

به این نوع تاپیک ها، تاپیک های فاقد محتوا گفته میشه که هیچ ارزش فنی ندارند.

موفق باشید.

mahnaz1431
شنبه 09 تیر 1386, 18:19 عصر
با عرض پوزش آقای راد
منظورتون از: برای مورد اول در #C نیاز به Type Casting به Literal داری...
چیه ؟
هر چند که قراره این نوع تاپیک ها حذف شود ولی نیاز مبرم به این پاسخ دارم .
تمنا می کنم پاسخ دهید.

Behrouz_Rad
شنبه 09 تیر 1386, 19:13 عصر
منظورتون از: برای مورد اول در #C نیاز به Type Casting به Literal داری...


(Literal) e.Row.FindControl("litRowNumberNormal");