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

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

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

چهارشنبه, 01 اسفند 1397 17:03

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

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

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

چهارشنبه, 01 اسفند 1397 17:30

سلام

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

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

چهارشنبه, 01 اسفند 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();
        }


    }
}

پنج شنبه, 02 اسفند 1397 14:49

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

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

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

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

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

یکشنبه, 05 اسفند 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;
            
        }

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

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید