M.sheaikhzadeh
سه شنبه 16 دی 1399, 10:55 صبح
سلام خدمت دوستان و اساتید
برنامه ویندوز فرم ، تحت زبان سی شارپ
کامپوننت مورد استفاده تلریک ، البته اگه بدون تلریک هم شد مشکلی نداره
می خوام یک فرم ورود کالا از دیتابیس بسازم
یک دیتا گرید ویو دارم که توی سطر هاش با استفاده از کمبوباکس می خوام اطلاعات وارد کنم
اطلاعات از دیتابیس توسط linq به کمبوباکس ها متصل شده
یه چیزی مثل تصویر زیر می خوام
152840
مشکل اینجاست که اگه توی ستون کد کالا ، کد کالا بنویسم و اینتر کنم فقط کد کالا میاره و نام کالا خالی میشه اگه نام کالا بنویسم کد کالا خالی میشه و فقط نامش ثبت میشه که طبق منطق برنامه درسته ولی من می خوام وقتی کد کالا ثایپ شد ستون دوم اتوماتیک فقط نام کالای متناظر رو بیاره و بالعکس
152841
این هم کد برنامه ام
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);
}
}
}
}
برنامه ویندوز فرم ، تحت زبان سی شارپ
کامپوننت مورد استفاده تلریک ، البته اگه بدون تلریک هم شد مشکلی نداره
می خوام یک فرم ورود کالا از دیتابیس بسازم
یک دیتا گرید ویو دارم که توی سطر هاش با استفاده از کمبوباکس می خوام اطلاعات وارد کنم
اطلاعات از دیتابیس توسط linq به کمبوباکس ها متصل شده
یه چیزی مثل تصویر زیر می خوام
152840
مشکل اینجاست که اگه توی ستون کد کالا ، کد کالا بنویسم و اینتر کنم فقط کد کالا میاره و نام کالا خالی میشه اگه نام کالا بنویسم کد کالا خالی میشه و فقط نامش ثبت میشه که طبق منطق برنامه درسته ولی من می خوام وقتی کد کالا ثایپ شد ستون دوم اتوماتیک فقط نام کالای متناظر رو بیاره و بالعکس
152841
این هم کد برنامه ام
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);
}
}
}
}