PDA

View Full Version : نحوه نوشتن اطلاعات در یک سلول از دیتاگرید به صورت چند خطی



c#_web
جمعه 24 آذر 1385, 01:14 صبح
من در برنامه ام یک دیتاگرید دارم که اطلاعات را درآن ریخته و نمایش میدهم البته این اطلاعات مربوط به کاربران مااست. حالا هر کاربر میتواند چند آدرس ایمیل داشته باشد . برای نمایش ، میخواهم در دیتاگرید در ستون مربوط به ایمیل ، همه ایمیلها را نشان دهم اما میخواهم در همان تک سلولی که هست (درهمان سطر و همان ستون) ایمیلها را خط به خط نشان دهد یعنی اگر شخصی 3 آدرس ایمیل داشته باشد در سطر مربوطه و ستون ایمیل او ، 3 خط باشد و 3 تاآدرس ایمیل را داشته باشد.
برای اینکار چه باید بکنم؟؟:متفکر:
مثلا طبق زیر:

نام نام خانوادگی آدرس ایمیل
--------------------------------------
علی احمدی A1@JHNSXJH
A2@LKJL
A3@JHUGJ
-------------------------------------------
رضا رضوی R1@HGSHJ

عفت بزرگه
جمعه 24 آذر 1385, 01:33 صبح
فکر نکنم بتونی

Leon_pro
جمعه 24 آذر 1385, 01:44 صبح
میتونی این کارو بکنی کار نشد نداره ولی من الان که دارم بهش فکر میکنم یکم طولانی میشه راه حلش .
رو دستورای sql کار کن جوری که مقدار دلخواهت رو بتونی برگردونی(راهنمایی اینکه با دستورات یک table جدید بساز بعد مقدارارو توش جمع کن بعد مقدارارو از اون table برگردون) اگه نتونستی من بهت کمک میکنم تو کد حلش کنی

keyvanB
جمعه 24 آذر 1385, 12:49 عصر
اگر هر کدام ار آدرسها در فیلد جداگانه باشند میتونی ستون دیتا گرید رو از نوع تمپلت انتخاب کنی و بعد از هر کدوم <br> بذاری

عفت بزرگه
جمعه 24 آذر 1385, 13:06 عصر
من حواسم نبود توی وب هستی می تونی خوب هم می تونی با itemtemplate میشه رفت

c#_web
سه شنبه 28 آذر 1385, 22:02 عصر
باتشکر از همه دوستان و راهنمایی های شما.
من در برنامه ام به اینصورت دیتابیس را طراحی کردم که هرفردمیتواند چند آدرس ایمیل داشته باشد.برای اینکاریک جدول بنام userساخته و درآن فیلدهای id_user,name,family رادارم.یک جدول برای ایمیل ساخته و در آن id_emai,email,id_user وجود دارد. که هنگام پرکردن جداول هرفردمیتواندچندآدرس ایمیل داشته باشد.مثلاً id_user=1, name=ali. حالا در جدول دیگر داریم id_email=1,email=a1@,id_user=1.
id_email=2,email=a2@,id_user=1.
id_email=3,email=a3@,id_user=1.
حالا در جدول ایمیل من چندین ایمیل وجود دارد که برای افراد مختلفی است. در برنامه ام برای اینکه در یک دیتاگرید کلی همه اطلاعات شخصی او را نشان دهم که نام و نام خانوادگی و آدرس ایمیل و دیگر اطلاعات فردی هر شخص دریک سطر قرار میگرد برای اینکار همه آدرسهای ایمیل مربوط به هر شخص را پیدا کرده وآنها را با , به هم متصل کرده وحالا میخواهم همه این ایمیلها برای هر شخص را در یک سلول نشان دهم اما مشکل من اینست که وقتی آنها را در دیتاگرید میریزم هرکدام دریک سطر نیستند وکمی تنظیمات نمای ظاهری دیتاگرید به هم خورده است طوری که پهنای سلولهای دیتاگرید برای ستونهای مختلف فرق میکند.
حالا برای رفع مشکل میخواهم آدرس های ایمیل این فرد در یک سلول زیر هم قرار بگیرند.
راه حلی دارد یا نه؟؟؟
ممنون میشم راهنمایی ام کنید. البته نمونه صفحه آنرا که نمایانگر بهمریختگی صفحه است ضمیمه میکنم.

c#_web
جمعه 08 دی 1385, 13:59 عصر
شاید من در پست آخر سوالم را درست مطرح نکرده باشم .
اصلا تصور کنید در جدول ما درفیلد تلفن ، شخصی چند تلفن را وارد کرده باشد و آنها را با کاما بهم متصل کرده ، حالا هنگامی که محتویات این جدول را به دیتاگرید بایند کردم همه آنها را نشان میده . اما میخوام اگه چند تلفن داشت اونا را در یک سلول زیر هم نشون بده.
تا شکل فرمم هنگام نمایش بهم ریخته نشه . چون بعضی ها را بالا و بعضی را پایین نشون میده . مثلا تو یک خط 2 تا تلفن و تو خط دیگه 3 تا تلفنها را نشون میده.
لطفاً راهنمایی کنید چه کارکنم؟؟؟:ناراحت: :متعجب:

Behrouz_Rad
جمعه 08 دی 1385, 22:34 عصر
از Custom Binding استفاده کن.
تابعی بنویس که ورودی رو میگیره و اون رو بر حسب کاراکتر "," از همدیگه جدا می کنه و
پس از اینکه عمل جدا سازی به پایان رسید، در انتهای هر مقدار به جز آخرین مقدار، یک تگ <br> قرار میده.


<%# Function_Split_Email(Eval("my_Email_Field")) %>


موفق باشید.

c#_web
شنبه 09 دی 1385, 21:50 عصر
با تشکر از همراهی و کمک دوستان. بالاخره مشکلم حل شد. من قبلاً تابعی نوشته بودم که در آن تلفنهای مختلف یک فرد را گرفته و با یک کاما آنها را بهم متصل میکرد ولی حالا آنها را توسط یک <br> بهم وصل کردم و باعث شد هر کدام از تلفنها را در یک خط جداگانه نشون بده.