نمایش نتایج 1 تا 7 از 7

نام تاپیک: تغییر مشخصات یک کنترل bind شده در Datalist در C#‎.net

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    172

    تغییر مشخصات یک کنترل bind شده در Datalist در C#‎.net

    چگونه در #C میتوانم خصوصیات یکی از کنترلهای موجود در Datalist را که بایند شده است را تغییر دهم.
    من یک کنترل Asp:Image در یک DataList دارم که باید بصورت داینامیک ImageUrl اون و با توجه به یک شرط خاص برای هر رکورد تغییر یابد.
    برای vb.net مثالهایی در سایت موجود بود که مشکلی از من حل نکرد اگر دوستان لطف کنند ممنون میشم.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    آذر 1385
    محل زندگی
    Tehran
    پست
    109
    نقل قول نوشته شده توسط bardia goharbin مشاهده تاپیک
    من یک کنترل Asp:Image در یک DataList دارم که باید بصورت داینامیک ImageUrl اون و با توجه به یک شرط خاص برای هر رکورد تغییر یابد.
    ممنون میشم.
    شما می توانید از Custom Binding Expression استفاده کنید و شرط خودتان را مستقیما در عبارت Bind بیاورید.
    https://barnamenevis.org/showpo...5&postcount=12

  3. #3
    نقل قول نوشته شده توسط greenway مشاهده تاپیک
    شما می توانید از Custom Binding Expression استفاده کنید و شرط خودتان را مستقیما در عبارت Bind بیاورید.
    https://barnamenevis.org/showpo...5&postcount=12
    دقیقا از همون روشی که greenway گفته باید استفاده کنی.
    این دو تا لینک رو هم ببین مثال های خوبی داره:
    Beyond DataBinder
    Two-Way Data Binding in ASP.NET

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    172
    به نظرم یک مقداری پیچیده میاد اگه توضیح مختصری بدید در موردش ممنون میشم

  5. #5
    اگر مستقیما فقط بخواهی ImageUrl یک کنترل Image را به فیلدی به نام URL در منبع داده وصل کنی کد زیر رو به قسمت Source کنترل image اضافه کن:
    ImageUrl='<%#EVAL("URL") %>'
    اگر بخواهی طبق شرط خاصی ImageUrl عوض شود باید به روش زیر عمل کنی
    فرض کن می خواهی بر اساس فیلد id از دیتابیس تصمیم بگیری چه عکسی در Image نمایش داده بشود
    ابتدا یک تابع تعریف می کنی (در قسمت کد- البته این یک مثاله هر کاری خواستی توی این تابع می تونی انجام بدی)
        Public Function GETURL(ByVal id As Int32) As String
    Dim url As String
    If id < 3 Then
    url = "~/P1.jpg"
    Else
    url = "~/P2.jpg"
    End If
    Return url
    End Function
    بعد در قسمت Source عبارت زیر رو به کنترل Image اضافه می کنی:
    ImageUrl='<%# GETURL(Eval("id"))%>'
    در ضمن این روشی که مثال زدم در مورد هر Property از کنترل ها که اراده کنی قابل استفاده هست!

    یک سری کلاس های دیگری مثل DataSetBinder به جای DataBinder.Eval و یک سری کاراکتر های دیگری مثل $ به جای # می شه استفاده کرد که زیاد تفاوتی با هم نداره فقط قابلیت های بیشتری به برنامه نویس میده که اگر تو اینترنت بگردی حتما کلی مثال پیدا میکنی.

    امیدوارم این مثال مشکلت رو حل بکنه.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    172
    مرسی از شما که وقت گذاشتید ، هرچند مشکل من با #C بود ولی با کدی که نوشتید کاملا متوجه شدم. البته یک اشکال دیگری در Type فیلد بود که در DataBase داشتم و در دیتابیس Type فیلد من Tinyint بود که بایستی در زمان Eval به Int32 تبدیل میشد که با دستور زیر مشکل حل شد.

    '<% ((("ImageUrl='<%# ChangeCatIcon(Convert.ToInt32(Eval("TypeID

  7. #7
    tinyint رو باید Byte تبدیل کنی.(برخی مواقع تبدیل ناصحیح اشکالات ناخواسته ای ایجاد می کند)

    در ضمن اون Int32 که گذاشتم مهم نیست (هر چی بذاری فرقی نمی کنه) لینک زیر معادل دات نت انواع داده ای SQL :

تاپیک های مشابه

  1. تغییر SelectedItem در DataList
    نوشته شده توسط Javadxp در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: پنج شنبه 26 آبان 1384, 13:31 عصر
  2. bind کردن متغیر
    نوشته شده توسط Amir Taghavi در بخش VB.NET
    پاسخ: 0
    آخرین پست: پنج شنبه 28 مهر 1384, 13:09 عصر
  3. تغییر خصوصیات کنترل های یک DataList
    نوشته شده توسط rahami در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: دوشنبه 18 مهر 1384, 08:08 صبح
  4. bind کردن cr
    نوشته شده توسط bebakhshid در بخش ابزارهای گزارش سازی
    پاسخ: 2
    آخرین پست: دوشنبه 03 مرداد 1384, 20:25 عصر
  5. تبدیل تاریخ قبل از bind کردن
    نوشته شده توسط saffari2005 در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: پنج شنبه 29 اردیبهشت 1384, 07:59 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •