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

نام تاپیک: ایجاد حلقه روی مدل و جدا کردن ایتم

  1. #1

    ایجاد حلقه روی مدل و جدا کردن ایتم

    سلام من یک کلاس مدل دارم به این صورت


    public class Promise
    {
    [Key]
    public Guid Mobayee_id { get; set; }
    public string Field1 { get; set; }
    public string Field2 { get; set; }
    public string Field3 { get; set; }
    public string Field4 { get; set; }
    public string Field5 { get; set; }
    public string Field6 { get; set; }
    public string Field7 { get; set; }
    }




    هر کدوم از این فیلد ها دارای مقدار مه با مارکتر ' ,' مثل (علی, محمد, رضا) که درField1 ذخیره شده
    حلا مخوام با یک دستور این مقادیر جداد جدا کنم و داخل گرید نشون بدم
    یعنی محتویات فیلدField1 بشه سه ستون در گرید بهمین شکل تا Field7 مکن این فیلد ها به 50 تا هم بشه

  2. #2
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    هدفتون از این طراحی عجیب چی هست؟
    در این مدل چند ردیف رکورد قرار میگیره؟
    اگر فقط یک رکورد داشته باشید قضیه حله
    ابتدا رکورد همه فیلده را در یک متغیر بنام a بریزید


    var a=list.Select(x=> new {all=x.Field1+x.Field2+....الی اخرین فیلد})
    و رکوردهای بدست آمد همه ی این 7 فیلد
    = "ali,reza,jafar,hoseyn,......";

    string[] arr = a.Split(',');
    foreach(var cha in arr)
    {
    Console.WriteLine(cha);
    }


    ولی
    اگر فرض کنید 3 رکورد باشه :

    Field1 در رکورد اول شامل علی حسن و حسین باشه
    و در رکورد دوم باز فیلد Field1 اینبار رضا, حسن و حسین و محمد باشده
    و رکورد سوم فیلد Field1 دارای 5 اسم باشه انوقت جمعا میشه 12 ستون
    حالا فرض کنید این Filed 6 باقیمانده هم هرکدام 3 رکورد داشته باشه اونوقت نیاز به حلقه تو در تو هست و باز قابل حله ولی این که میشه مصیبت با تعداد زیادی فیلد در گراید

  3. #3
    محروم شده
    تاریخ عضویت
    تیر 1396
    محل زندگی
    تهران
    پست
    45

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    با تشکر از پاسخگوییتون

  4. #4

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    هدفتون از این طراحی عجیب چی هست؟
    در این مدل چند ردیف رکورد قرار میگیره؟
    اگر فقط یک رکورد داشته باشید قضیه حله
    ابتدا رکورد همه فیلده را در یک متغیر بنام a بریزید


    var a=list.Select(x=> new {all=x.Field1+x.Field2+....الی اخرین فیلد})
    و رکوردهای بدست آمد همه ی این 7 فیلد
    = "ali,reza,jafar,hoseyn,......";

    string[] arr = a.Split(',');
    foreach(var cha in arr)
    {
    Console.WriteLine(cha);
    }


    ولی
    اگر فرض کنید 3 رکورد باشه :

    Field1 در رکورد اول شامل علی حسن و حسین باشه
    و در رکورد دوم باز فیلد Field1 اینبار رضا, حسن و حسین و محمد باشده
    و رکورد سوم فیلد Field1 دارای 5 اسم باشه انوقت جمعا میشه 12 ستون
    حالا فرض کنید این Filed 6 باقیمانده هم هرکدام 3 رکورد داشته باشه اونوقت نیاز به حلقه تو در تو هست و باز قابل حله ولی این که میشه مصیبت با تعداد زیادی فیلد در گراید


    تعداد ذخیره داخل هر فیلد مشخص و بیشتر از 3 عدد نمی باشد
    یعنی تعداد فیلد
    Field1 3عدد می باشد فیلد Field2 یک عدد و فیلد Field3 دوباره 3 عدد به همین ترتیب الی اخر

  5. #5

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    داخل یک دیتا تیبل هم بشه انتقال داد مشکل حل میکنه برام چون مخوام بفرستم سمت استمول جهت چاپ

  6. #6

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    هدفتون از این طراحی عجیب چی هست؟
    در این مدل چند ردیف رکورد قرار میگیره؟
    اگر فقط یک رکورد داشته باشید قضیه حله
    ابتدا رکورد همه فیلده را در یک متغیر بنام a بریزید


    var a=list.Select(x=> new {all=x.Field1+x.Field2+....الی اخرین فیلد})
    و رکوردهای بدست آمد همه ی این 7 فیلد
    = "ali,reza,jafar,hoseyn,......";

    string[] arr = a.Split(',');
    foreach(var cha in arr)
    {
    Console.WriteLine(cha);
    }


    ولی
    اگر فرض کنید 3 رکورد باشه :

    Field1 در رکورد اول شامل علی حسن و حسین باشه
    و در رکورد دوم باز فیلد Field1 اینبار رضا, حسن و حسین و محمد باشده
    و رکورد سوم فیلد Field1 دارای 5 اسم باشه انوقت جمعا میشه 12 ستون
    حالا فرض کنید این Filed 6 باقیمانده هم هرکدام 3 رکورد داشته باشه اونوقت نیاز به حلقه تو در تو هست و باز قابل حله ولی این که میشه مصیبت با تعداد زیادی فیلد در گراید
    بعدممکن شامل چمد ردیف باشم ولی قانون ذخیره هم ردیف ها یکی می باشد
    ممکن 10 ردیف دشت باشیم که از دیتا بس خونده میشه
    میشه کاریش کرد؟

  7. #7

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    up.....up....

  8. #8

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    یک مثال از نمونه داده های دیتابیس و کوئری که اجرا میکنید همراه نتیجه اش بزارید.

  9. #9

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    یک مثال از نمونه داده های دیتابیس و کوئری که اجرا میکنید همراه نتیجه اش بزارید.
    اطلاعات داخل دیتابیس اینطوری ذخیره میشه

    Capture.JPG
    وبا linqبا این دستور فراخوانی میشه


    var sebdd2 = db.Promises.Where(x => x.MelkFor.MelkID == _MelkID).FirstOrDefault().id;


    آخرین ویرایش به وسیله Helpco : شنبه 10 شهریور 1397 در 09:45 صبح

  10. #10

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    تعداد فیلدها ثابت هست یا نه؟ چرا چنین ساختاری برای ذخیره انتخاب کردید؟ تعداد مقادیر درون هر فیلد 3 تا بیشتر نمیشه؟

  11. #11

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    تعداد فیلدها ثابت هست یا نه؟ چرا چنین ساختاری برای ذخیره انتخاب کردید؟ تعداد مقادیر درون هر فیلد 3 تا بیشتر نمیشه؟
    بله تعداد فیلد ها ثابت هست و مقدار درون هر فیلد هم نهایت 3 عدد و بیشتر نمیشه که ممکن کمتر بشه مثلا2 عدد یا 1 حتی
    این یک برنامه جانبی و کمک برنامه اصلی که این شرکت دراه و من قرار برنامه جانبی بنویسم براشون
    میشه کاریش کرد؟

  12. #12
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    سلام
    بهتره به تعداد لازم پراپرتی ReadOnly به مدل اضافه کنی کارت راحت میشه.

    public class Promise
    {
    [Key]
    public Guid Mobayee_id { get; set; }
    public string Field1 { get; set; }
    public string Field2 { get; set; }
    public string Field3 { get; set; }
    public string Field4 { get; set; }
    public string Field5 { get; set; }
    public string Field6 { get; set; }
    public string Field7 { get; set; }


    public string Field11 { get{return Field1.Split({','}).Length==1?Field1.Split({','})[0]:null;} }
    public string Field12 { get{return Field1.Split({','}).Length==2?Field1.Split({','})[1]:null;} }
    public string Field13 { get{return Field1.Split({','}).Length==3?Field1.Split({','})[2]:null;} }


    public string Field71 { get{return Field7.Split({','}).Length==1?Field7.Split({','})[0]:null;} }
    public string Field72 { get{return Field7.Split({','}).Length==2?Field7.Split({','})[1]:null;} }
    public string Field73 { get{return Field7.Split({','}).Length==3?Field7.Split({','})[2]:null;} }




    }

    به ازای هر فیلد دوبار متد Split فراخوانی میشود که بهنه نیست خودت بهینه ش کن.فقط یه نمونه مثال جهت انجام کار هست و Field11 یعنی قسمت اول عمل Split فیلد Field1 و..
    First,solve the problem then write the code

  13. #13

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    سلام
    بهتره به تعداد لازم پراپرتی ReadOnly به مدل اضافه کنی کارت راحت میشه.

    public class Promise
    {
    [Key]
    public Guid Mobayee_id { get; set; }
    public string Field1 { get; set; }
    public string Field2 { get; set; }
    public string Field3 { get; set; }
    public string Field4 { get; set; }
    public string Field5 { get; set; }
    public string Field6 { get; set; }
    public string Field7 { get; set; }


    public string Field11 { get{return Field1.Split({','}).Length==1?Field1.Split({','})[0]:null;} }
    public string Field12 { get{return Field1.Split({','}).Length==2?Field1.Split({','})[1]:null;} }
    public string Field13 { get{return Field1.Split({','}).Length==3?Field1.Split({','})[2]:null;} }


    public string Field71 { get{return Field7.Split({','}).Length==1?Field7.Split({','})[0]:null;} }
    public string Field72 { get{return Field7.Split({','}).Length==2?Field7.Split({','})[1]:null;} }
    public string Field73 { get{return Field7.Split({','}).Length==3?Field7.Split({','})[2]:null;} }




    }

    به ازای هر فیلد دوبار متد Split فراخوانی میشود که بهنه نیست خودت بهینه ش کن.فقط یه نمونه مثال جهت انجام کار هست و Field11 یعنی قسمت اول عمل Split فیلد Field1 و..

    ممکن بیشتر توضیح بدید متوجه نشدم

  14. #14
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    برای هر بخش از رشته درون Filed1 سه Property اضافه شده (این Property ها ReadOnly هستند یعنی تو دیتابیس Map نمیشن فقط جهت دسترسی به بخشهای رشته درون Fileld1 استفاده میشوند)
    چون شما بیان کردی تعداد فیلد ها محدود به 3 تا بیشتر نیست این روش جواب میده
    البته بدون Property اضافه داخل مدل هم میتونی Field1 را موقع کویری به سه ستون تبدیل کنی

    context.Promises.Select(c=>new{Field11=c.Field1.Sp lit({','})[0], Field12=c.Field1.Split({','})[1],Field13=c.Field1.Split({','})[2],.... });
    First,solve the problem then write the code

  15. #15

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    برای هر بخش از رشته درون Filed1 سه Property اضافه شده (این Property ها ReadOnly هستند یعنی تو دیتابیس Map نمیشن فقط جهت دسترسی به بخشهای رشته درون Fileld1 استفاده میشوند)
    چون شما بیان کردی تعداد فیلد ها محدود به 3 تا بیشتر نیست این روش جواب میده
    یعنی یک مدل دیگه تعرف کنم بعنوان ویو که این مدل داخل اون
    Split کنم و هرجا خواستم حلا از اون مدل جدید استفائه کنم درست متوجه شدم؟

    e.JPG

  16. #16
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نه متوجه نشدی .همان مدل Promise چند تا Property اضافه شده مدل دیگه ای لازم ندارد.
    First,solve the problem then write the code

  17. #17

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    نه متوجه نشدی .همان مدل Promise چند تا Property اضافه شده مدل دیگه ای لازم ندارد.
    انجام دادم ولی خطای که داخل عکس میده

  18. #18

    نقل قول: ایجاد حلقه روی مدل و جدا کردن ایتم

    نقل قول نوشته شده توسط ژیار رحیمی مشاهده تاپیک
    برای هر بخش از رشته درون Filed1 سه Property اضافه شده (این Property ها ReadOnly هستند یعنی تو دیتابیس Map نمیشن فقط جهت دسترسی به بخشهای رشته درون Fileld1 استفاده میشوند)
    چون شما بیان کردی تعداد فیلد ها محدود به 3 تا بیشتر نیست این روش جواب میده
    البته بدون Property اضافه داخل مدل هم میتونی Field1 را موقع کویری به سه ستون تبدیل کنی

    context.Promises.Select(c=>new{Field11=c.Field1.Sp lit({','})[0], Field12=c.Field1.Split({','})[1],Field13=c.Field1.Split({','})[2],.... });
    این روش حل شد ممنون

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

  1. سوال: جدا کردن آیتم های خاص از یک لیست باکس به لیست باکس دیگر
    نوشته شده توسط remower در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 05 آذر 1392, 20:40 عصر
  2. پاسخ: 8
    آخرین پست: شنبه 16 شهریور 1392, 22:17 عصر
  3. پاسخ: 2
    آخرین پست: چهارشنبه 07 تیر 1391, 23:22 عصر
  4. سوال: جدا کردن ایتم های مختلف از توی Iform (اوقات شرعی)
    نوشته شده توسط explod_javad در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: چهارشنبه 31 تیر 1388, 21:30 عصر
  5. جدا کردن آیتم های Combobox
    نوشته شده توسط delphiprog3000 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: شنبه 04 خرداد 1387, 19:25 عصر

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

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