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

نام تاپیک: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

  1. #1

    Thumbs down چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    با سلام
    یک فرم دارم در زمانی که برای اولین بار فرم لود می شود از دیتابیس 5 رکود به صورت تصادفی نمایش می دهم که همه 5 رکود یکباره نمایش می دهم
    چگونه می توان با کلیک بر روی دکمه موجود در فرم هر رکود به صورت جداگانه در لیبل نمایش دهم

    کدها به صورت زیر است

    public static class myExtensionMethods{
    static Random rnd = new Random();
    public static IEnumerable<T> RandomElements<T>(this IEnumerable<T> source, int number)
    {
    return source.OrderBy(r => rnd.Next()).Take(number);
    }
    }

     public Form1()        {
    InitializeComponent();
    showqustion();
    }


    private void showqustion()
    {
    Model1Container dddd = new Model1Container();
    var randomList = dddd.qustionusers.RandomElements(5).ToList();



    }
    آخرین ویرایش به وسیله bitcob589 : شنبه 09 فروردین 1393 در 18:46 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مهر 1390
    محل زندگی
    rayancode.ir
    پست
    1,559

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    به نظرم یه کوئری بنویسین و هنگام نمایش فقط اون رو نمایش بدین. البته اگه درست متوجه شده باشم.



    var query = from c in db.tblname
    select new { c.namefild, c.namefild2, c.namefild3 };


    اینجوری می تونین فیلد مورد نظر رو نمایش بدین و این کوئری رو نمایش بدین.

  3. #3

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    متوجه منظورم نشدید بگذارید واضح تر توضیح دهم
    کدی که در پست 1 گذاشته ام 5 رکورد به صورت تصادفی به صورت یکباره نمایش می دهد
    در نظر دارم به جای اینکه 5 رکود یکباره به کاربر نشان دهم کاربر به وسیله دکمه ای که درون فرم است با هر دفعه کلیک بر روی دکمه یکی از 5 رکود تصادفی در یک لیبل مشاهده کند (ضمنا اولین رکود تصادفی می خواهم در زمانی که اولین بار فرم لود می شود به کاربر نمایش دهم )

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مهر 1390
    محل زندگی
    rayancode.ir
    پست
    1,559

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    اها. خوب این رو می توین به چند روش انجام بدین.البته شاید روش کاملا استانداردی نباشه اما به نظرم عملیه.
    این کد ها که اوردین و نمایش داده میشن رو حالا یا تو دیتاگرید و یا listbox و یا هر چی دیگه ذخیره کنین اما حالت ویزیبل نداشته باشه.
    حالا 5 تا لیبل بسازین و فرم اول با داده اول بصورت لود صفحه نمایش داده بشه.
    بقیه لیبل ها هم حالا یا با تایمر و یا دکمه دنه دونه از دیتاگرید و یا لیست باکس نمایش داده بشه. شرمنده دیگه ما همینقدر بلدیم:D

  5. #5
    کاربر دائمی
    تاریخ عضویت
    مهر 1390
    محل زندگی
    rayancode.ir
    پست
    1,559

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    اگه مشکل شما حل شد لطف کن تو فروم به سوال من اگه میشه جواب بده :D

  6. #6

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    در نظر دارم بار اول که فرم لود می شوداولین رکود تصادفی به من نمایش دهد و به ازای هر بار کلیک بر روی دکمه یکی از رکودهای تصادفی درون لیبل نمایش دهد

  7. #7

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    از طریق بایندیتگ میتونی.
    مثال:

    BindingSource bs;
    public Form1()
    {
    InitializeComponent();

    db = new Database1Entities();

    BindingList<tbl> bl = new BindingList<tbl>(db.tbl.Take(5).ToList());
    bs = new BindingSource();
    bs.DataSource = bl;
    textBox1.DataBindings.Add("Text", bs, "Name");
    }



    private void button1_Click(object sender, EventArgs e)
    {
    if (bs.Position < (bs.Count - 1))
    {
    bs.MoveNext();
    }
    else
    {
    bs.MoveFirst();
    }
    }


    یا اینکه هر بار یک رکورد تصادفی از دیتابیس بگیر و نمایش بده.

  8. #8

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    چگونه می توان در کد بالا id رکود تصادفی ذخیره کرد که بتوان id ذخیره شده را در فرم دیگر استفاده نماییم

  9. #9

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    از طریق شئ فعلی بایندینگ سورس میتونی بدست بیاری. ارسال به فرم دیگر هم بارها بحث شده.

    tbl t = bs.Current as tbl;
    int a = t.id;

  10. #10

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    id به روش زیر به صفحه دیگر انتقال می دهم اما در فرم دوم هیچ id دریافت نمی کندآیا ارسال اطلاعات به فرم دیگر به روش زیر اشتباه است

    فرم اول به صورت زیر است که اطلاعات از این صفحه انتقال می دهم
    public partial class Form1 : Form    {
    public static int[] s;
    BindingSource bs;
    public Form1()
    {

    InitializeComponent();
    showqustion();
    }


    private void showqustion()
    {

    Model1Container dddd = new Model1Container();
    BindingList<qustionuser> bl = new BindingList<qustionuser>(dddd.qustionusers.RandomE lements(5).ToList());

    bs = new BindingSource();
    bs.DataSource = bl;

    textBox1.DataBindings.Add("Text", bs, "qustion");
    label1.DataBindings.Add("Text", bs, "answer1");
    qustionuser t = bs.Current as qustionuser;
    int[] a =new int[ t.Id];


    s = a;
    }

    فرم دوم به صورت زیر است که تمام اطلاعات id های برگشتی در فرم زیر نمایش می دهم
    public partial class Form2 : Form    {
    public Form2()
    {
    InitializeComponent();
    Model1Container dddd = new Model1Container();
    int[] id = Form1.s;
    foreach (int yk in id)
    {
    var dt = dddd.qustionusers.Where(i => i.Id == yk).FirstOrDefault();
    dataGridView1.DataSource = dt;


    }
    }

    آیا روش ارسال اطلاعات اشتباه می باشد

  11. #11

    نقل قول: چگونه در entity framework رکودها را به صورت تکی نمایش دهیم

    بارها جواب داده شده لطفا جستجو کنید.

    از اونجایی که همون شئ قراره در فرم دوم بدست بیاد اصلا نیاز به این کارها نیست. کافیه همون عنصر فعلی bs رو انتقال بدید. (نیاز نیست دوباره کوئری بزنی)
    از طریق سانده میتونی انتقال بدی.(یا یک متد خودتون بنویسید و در اون متد در کنترل مناسب نمایش بدی.
    در فرم اول:

    BindingSource bs;
    public Form1()
    {
    InitializeComponent();
    showqustion();
    }

    private void showqustion()
    {
    Model1Container dddd = new Model1Container();
    BindingList<qustionuser> bl = new BindingList<qustionuser>(dddd.qustionusers.RandomE lements(5).ToList());

    bs = new BindingSource();
    bs.DataSource = bl;

    textBox1.DataBindings.Add("Text", bs, "qustion");
    label1.DataBindings.Add("Text", bs, "answer1");
    }

    private void button1_Click(object sender, EventArgs e)
    {
    qustionuser t = bs.Current as qustionuser;
    Form2 frm = new Form2(t);
    frm.Show();
    }


    در فرم دوم:

    public Form2(qustionuser q)
    {
    InitializeComponent();

    label1.Text = q.Id;
    label2.Text = q.Name;
    }

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

  1. پاسخ: 6
    آخرین پست: یک شنبه 20 بهمن 1392, 15:45 عصر
  2. مبتدی: چگونه می توان درصد عدد را به صورت صفر نمایش داد
    نوشته شده توسط bitcob589 در بخش C#‎‎
    پاسخ: 14
    آخرین پست: شنبه 12 بهمن 1392, 00:48 صبح
  3. مبتدی: چگونه مدل entity framework را به پروژه خود اضافه نماییم
    نوشته شده توسط bitcob589 در بخش ASP.NET MVC
    پاسخ: 2
    آخرین پست: یک شنبه 08 دی 1392, 18:52 عصر
  4. مبتدی: چگونه header کنترل datalist را به صورت عمودی نمایش دهیم
    نوشته شده توسط bitcob589 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: سه شنبه 25 مهر 1391, 12:02 عصر
  5. چگونه به دستور where در select به صورت متغییر مقدار دهیم
    نوشته شده توسط shadidayan در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: پنج شنبه 31 مرداد 1387, 02:16 صبح

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

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