تماس با ما: 02166057992 چت آنلاین   ورود

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


سلام خدمت دوستان و اساتید
برنامه ویندوز فرم ، تحت زبان سی شارپ
کامپوننت مورد استفاده تلریک ، البته اگه بدون تلریک هم شد مشکلی نداره
می خوام یک فرم ورود کالا از دیتابیس بسازم
یک دیتا گرید ویو دارم که توی سطر هاش با استفاده از کمبوباکس می خوام اطلاعات وارد کنم
اطلاعات از دیتابیس توسط linq به کمبوباکس ها متصل شده

یه چیزی مثل تصویر زیر می خوام

مشکل اینجاست که اگه توی ستون کد کالا ، کد کالا بنویسم و اینتر کنم فقط کد کالا میاره و نام کالا خالی میشه اگه نام کالا بنویسم کد کالا خالی میشه و فقط نامش ثبت میشه که طبق منطق برنامه درسته ولی من می خوام وقتی کد کالا ثایپ شد ستون دوم اتوماتیک فقط نام کالای متناظر رو بیاره و بالعکس

این هم کد برنامه ام

using System;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.Data;
using Telerik.WinControls.UI;

namespace program0
{
public partial class Form9 : Form
{
public Form9()
{
InitializeComponent();
}

linqDataContext db = new linqDataContext();
GridViewMultiComboBoxColumn ProductCode = new GridViewMultiComboBoxColumn("کد کالا");
GridViewMultiComboBoxColumn ProductName = new GridViewMultiComboBoxColumn("نام کالا");
RadMultiColumnComboBoxElement mccbEl = new RadMultiColumnComboBoxElement();

private void Form9_Load(object sender, EventArgs e)
{
var dtpcode = (from a in db.StockProductLists
where a.FiscalYearYear == "1399"
orderby a.ProductCode
select new
{
ProductCode = a.ProductCode,
ProductName = a.ProductName.Replace("ی", "ی").Replace("ک", "ک"),
PackQty = a.PackQty,
OnHandUnitQty = a.OnHandUnitQty,
});
ProductCode.DataSource = dtpcode;
ProductCode.DisplayMember = "ProductCode";
ProductCode.ValueMember = "ProductName";
ProductCode.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDown;
ProductCode.FilteringMode = GridViewFilteringMode.DisplayMember;
radGridView1.Columns.Add(ProductCode);

var dtpname = (from a in db.StockProductLists
where a.FiscalYearYear == "1399"
orderby a.ProductCode
select new
{
ProductCode = a.ProductCode,
ProductName = a.ProductName.Replace("ی", "ی").Replace("ک", "ک"),
PackQty = a.PackQty,
OnHandUnitQty = a.OnHandUnitQty,
});
ProductName.DataSource = dtpname;
ProductName.DisplayMember = "ProductName";
ProductName.ValueMember = "ProductCode";
ProductName.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDown;
ProductName.FilteringMode = GridViewFilteringMode.DisplayMember;
radGridView1.Columns.Add(ProductName);

radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;

}

private void radGridView1_CellEditorInitialized(object sender, GridViewCellEventArgs e)
{
mccbEl = e.ActiveEditor as RadMultiColumnComboBoxElement;
if (mccbEl != null)
{
mccbEl.Columns[0].HeaderText = "کد کالا";
mccbEl.Columns[1].HeaderText = "نام کالا";
mccbEl.Columns[2].HeaderText = "تعداد جعبه";
mccbEl.Columns[3].HeaderText = "تعداد عدد";
mccbEl.BestFitColumns();
mccbEl.EditorControl.Columns[0].HeaderText = "کد کالا";
mccbEl.DropDownSizingMode = SizingMode.UpDownAndRightBottom;
mccbEl.DropDownMinSize = new Size(550, 300);
mccbEl.DropDownMaxSize = new Size(550, 300);
mccbEl.AutoSizeDropDownToBestFit = false;
mccbEl.DropDownAnimationEnabled = false;
mccbEl.AutoFilter = true;
FilterDescriptor filterDescriptor = new FilterDescriptor(mccbEl.DisplayMember, FilterOperator.Contains, string.Empty);
mccbEl.EditorControl.MasterTemplate.FilterDescript ors.Add(filterDescriptor);
}
}
}
}


عکس های ضمیمه



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

نظرات شما

WhatsApp chat