مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

munibahmadi

عضویت از 1397/10/19

لود کردن دیتا در لیست باکس از طریق using (UnitOfWork db = new UnitOfWork())

  • چهارشنبه 1 اسفند 1397
  • 17:03
تشکر میکنم

سلام  دوستان عزیز 

من میخوام از طریق  using (UnitOfWork db = new UnitOfWork())   اطلاعات یک ستون مثل نام رو در لیست باکس  بیارم ولی هر کاری میکنم نمیشه  لطفا راهنمایی کنید  

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

محمد قاری

عضویت از 1395/02/07

  • چهارشنبه 1 اسفند 1397
  • 17:30

سلام

کد مربوط به unit of work رو قرار بدید

کد محل فراخوانی رو هم قرار بدید تا راهنمایی کنم

کاربر سایت

munibahmadi

عضویت از 1397/10/19

  • چهارشنبه 1 اسفند 1397
  • 20:54
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Rawand.DataLayer;
using Rawand.DataLayer.Context;


namespace project_rawand
{
    public partial class frmfees : Form
    {
        public frmfees()
        {
            InitializeComponent();
        }

        private void dataGridViewX1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void groupPanel1_Click(object sender, EventArgs e)
        {
            
        }

        private void dataGridViewX2_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {

        }

        private void buttonX2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void buttonX1_Click(object sender, EventArgs e)
        {
            MessageBox.Show("لطفا صبر داشته باشید در حال تکمیل این بخش هستیم ");
        }

        private void groupPanel3_Click(object sender, EventArgs e)
        {
            new frmswr().ShowDialog();
        }

        private void groupPanel4_Click(object sender, EventArgs e)
        {
            new frmjowza().ShowDialog();
        }

       

        private void groupPanel5_Click(object sender, EventArgs e)
        {
            new frmsaratan().ShowDialog();
        }

        private void groupPanel6_Click_1(object sender, EventArgs e)
        {
            new frmasad().ShowDialog();
        }

        private void groupPanel10_Click(object sender, EventArgs e)
        {
            new frmaqrab().ShowDialog();
        }

        private void groupPanel8_Click(object sender, EventArgs e)
        {
            new frmsonbola().ShowDialog();
        }

        private void groupPanel9_Click(object sender, EventArgs e)
        {
            new frmmizan().ShowDialog();
        }

        private void groupPanel12_Click(object sender, EventArgs e)
        {
            new frmjadi().ShowDialog();
        }

        private void groupPanel15_Click(object sender, EventArgs e)
        {
            new frmqows().ShowDialog();
        }

        private void groupPanel13_Click(object sender, EventArgs e)
        {
            new frmdalw().ShowDialog();
        }

        private void groupPanel14_Click(object sender, EventArgs e)
        {
            new frmhot().ShowDialog();
        }

        private void frmfees_Load(object sender, EventArgs e)
        {
            BindGrid();
        }

        void BindGrid()
        {
            using (UnitOfWork db = new UnitOfWork())
            {
                dgvfees.AutoGenerateColumns = false;
                dgvfees.DataSource = db.RawandRepository.GetAllozwejadid();
            }
        }

        private void txtsearch_TextChanged(object sender, EventArgs e)
        {
            using (UnitOfWork db = new UnitOfWork())
            {
                dgvfees.DataSource = db.RawandRepository.GetOzwejadids(txtsearch.Text);
            }
        }

        private void listBoxAdv1_ItemClick(object sender, EventArgs e)
        {


           

        }

        private void loadItems()
        {
            throw new NotImplementedException();
        }
    }
}

کد محل قرار گیری 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Rawand.DataLayer.Repositories;
using Rawand.DataLayer.Services;

namespace Rawand.DataLayer.Context
{
    public class UnitOfWork : IDisposable
    {
        Rawand_DBEntities db = new Rawand_DBEntities();

        private IRawandRepository _RawandRepository;
        public IRawandRepository RawandRepository
        {
            get
            {
                if (_RawandRepository == null)
                {
                    _RawandRepository = new RawandRepository(db);

                }

                return _RawandRepository;
            }
        }

      

        public void Save()
        {
            db.SaveChanges();
        }

        public void Dispose()
        {
            db.Dispose();
        }


    }
}

کاربر سایت

محمد اردوخانی

عضویت از 1396/05/17

  • پنجشنبه 2 اسفند 1397
  • 14:49

پروژتون رو به حالت Debugging اجرا کنید و مطمین بشین که unitOfWork دیتای مورد نیاز شما رو برمیگردونه

اگر دیتا بازگردانده نشد  از طریق constructor injection عملیات Inject کردن UnitOfWork رو انجام بدین و تست کنین

ترجیجا برای پر کردن ListBox از روش زیر استفاده کنین :

listBox1.Items.AddRange(myList.ToArray());

تست کنین و نتیجه رو اعلام کنین

کاربر سایت

munibahmadi

عضویت از 1397/10/19

  • یکشنبه 5 اسفند 1397
  • 22:27

با تشکر از دوستان عزیز برای کمک به  حل مشکلم  یکی از دوستانم  از این طریق راهنمایی کرد با کد زیر 

 void LoadNames()
        {

            lstNames.DataSource = db.ozwejadid.ToList();
            lstNames.ValueMember = "ozwejadidID";
            lstNames.DisplayMember = "name";


        }

 و همچنین برای کلیک کردن بر روی یکی از نام ها و نمایش محتوای آن در لیبل ها هم  از کد زیر استفاده کردم 

    private void listBoxAdv1_ItemClick(object sender, EventArgs e)
        {
            int ID = Convert.ToInt32(lstNames.SelectedValue);
            var Names = db.ozwejadid.Find(ID);
            lblName.Text = Names.name;
            lblFName.Text = Names.fname;
            lblnumber.Text = Names.shomara1;
            
        }

ولی یک مشکل دیگه دارم اینه که میخوام  آیدی هم نمایش داده بشه  اما نمیشه   لطفا  راهنمایی کنید که دیگه باید چی کار کنم 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)