سلام دوستان عزیز
من میخوام از طریق using (UnitOfWork db = new UnitOfWork()) اطلاعات یک ستون مثل نام رو در لیست باکس بیارم ولی هر کاری میکنم نمیشه لطفا راهنمایی کنید
سلام
کد مربوط به unit of work رو قرار بدید
کد محل فراخوانی رو هم قرار بدید تا راهنمایی کنم
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(); } } }
پروژتون رو به حالت Debugging اجرا کنید و مطمین بشین که unitOfWork دیتای مورد نیاز شما رو برمیگردونه
اگر دیتا بازگردانده نشد از طریق constructor injection عملیات Inject کردن UnitOfWork رو انجام بدین و تست کنین
ترجیجا برای پر کردن ListBox از روش زیر استفاده کنین :
listBox1.Items.AddRange(myList.ToArray());
تست کنین و نتیجه رو اعلام کنین
با تشکر از دوستان عزیز برای کمک به حل مشکلم یکی از دوستانم از این طریق راهنمایی کرد با کد زیر
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; }
ولی یک مشکل دیگه دارم اینه که میخوام آیدی هم نمایش داده بشه اما نمیشه لطفا راهنمایی کنید که دیگه باید چی کار کنم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)