PDA

View Full Version : تغییر تکست باکس در صورت تغییر کمبو باکس



foo0z0ool
شنبه 30 فروردین 1399, 10:48 صبح
دوستان سلام من سه فرم شبیه این فرم درست کردم ( لود کردن از جدول شماره 1 )


https://i.stack.imgur.com/tnSn8.jpg (https://i.stack.imgur.com/tnSn8.jpg)
کد زیر رو برای لود کردن کمبو 1 استفاده کردم از روش ریپوزیتوری



private void frmOrgCharts_Load(object sender, EventArgs e)
{
using (UnitOfWork db=new UnitOfWork())
{
cmbLayerName.DataSource = db.LayerRepository.Get();
cmbLayerName.DisplayMember = "LayerName";
cmbLayerName.ValueMember = "LayerID";
cmbLayerName.Text = "";}


این کد رو برای لود شدن کمبو باکس 2 ( اطلاعات جدول شماره 2 از طریق همین کد لایه با جدول شماره 1 ریلیشن داره ) ---( البته چون بلد نبودم چیکار کنم کمبو باکس شماره 3 چطور اتوماتیک از طریق کمبو 1 لود بشه مجبور شدم از این روش استفاده کنم اگه راهی داره خوشحال میشم کمک کنین که یه کمبو باکس کم بده توی فرمم




private void cmbLayerName_SelectedIndexChanged(object sender, EventArgs e)
{

if (cmbLayerName.SelectedValue.ToString() != null)
{
using (UnitOfWork db = new UnitOfWork())
cmbLayerID.DataSource = db.GorRepository.GetLayerByFilter(cmbLayerName.Sel ectedValue.ToString());
cmbLayerID.DisplayMember = "LayerID";
}
}

این کد رو هم برای لود شدن کمبو باکس 3 استفاده کردم
,,,
private void cmbLayerID_SelectedIndexChanged(object sender, EventArgs e)
{
using (UnitOfWork db = new UnitOfWork())

if (cmbLayerID.SelectedValue.ToString() != null)
{
cmbGorNumber.DataSource = db.GordanRepository.GetLayerByFilter(cmbLayerID.Te xt);

cmbGorNumber.DisplayMember = "GorNumber";
cmbGorNumber.ValueMember = "GorID";
}
}خیلی سعی کردم با لود شدم کمبو شماره 3 تکست باکس 4 توی فرم اتوماتیک مقدارش عوض شه ( یعنی وقتی ای دی لود میشه اسمش اتوماتیک بیاد )
از کد زیر استفاده کردم اما هر کاری میکنم نول برمیگردونه چون من تازه کارم نمیدونم چیکار باید بکنم انواع و اقسام آموزشهای موجود توی این سایت و جاهای دیگه رو دیدم سعی کردم از انواع فیلترهایی که بلد بودم استفاده کنم اما متاسفانه اکثر آموزشها میان کوئری میزنن و کسی از روش ریپوزیتوری استفاده نمیکنه یا اگر هم استفاده میکنه توی اینترنت نذاشته



private void cmbGorNumber_SelectedIndexChanged(object sender, EventArgs e)
{
using (UnitOfWork db = new UnitOfWork())

if (cmbGorNumber.SelectedValue.ToString() != null)
{
var gor = db.GordanRepository.GetLayerByFilter(cmbGorNumber. Text);

txtGorName.Text = gor.GordanName;

}
}



دوستان اگه بتونن به من کمک کنن منت سر من گذاشتن
2 تا سوال دارم
اول اینکه آیا فیلتری هست که وقتی کمبو باکس 1 از جدول شماره 1 لود میشه دیگه نیازه به کمبو باکس 2 نباشه و به طور اتوماتیک اطلاعت کمبو 3 که توی جدول شماره 2 هست لود بشه ونیازه به کمبو شماره 2 نباشه ؟
دوم اینکه چیکار کنم که تکست باکس 4 اتوماتیک مقدارش عوض شه

با تشکر از همه دوستان و اساتید مهندسین عزیز

foo0z0ool
یک شنبه 31 فروردین 1399, 12:03 عصر
اساتید کمک نمیکنند ؟