15-10-12, 10:11 AM
كاتب الموضوع : !TheCodeOfSilence
بسم الله الرحمن الرحيملنكمل الحديث عن datagrid
رابط الموضوع الاول
http://vb4arb.com/vb/showthread.php?1747
لاننا سنستخدمه نفس الطريقة
سنقوم في هذا المثال باضافه بيانات الى مشتريات العميل ولكن كيف
سنستخدم 2 textbox , button لاضافة البيانات
سنقوم بتجهيز datagrid كما في المثال السابق
اولا يجب علينا استيراد namespace الاتي
كود :
using System.ComponentModel;
كود :
BindingList<PurchaseData> PD = new BindingList<PurchaseData>();
كود :
public class PurchaseData : INotifyPropertyChanged
{
private string _ItemName;
private decimal _ItemPrice;
public string ItemName
{
get { return _ItemName; }
set
{
_ItemName = value;
OnPropertyChanged("ItemName");
}
}
public decimal ItemPrice
{
get { return _ItemPrice; }
set
{
_ItemPrice = value;
OnPropertyChanged("ItemPrice");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
كود :
dataGrid2.ItemsSource = PD;
والان سنتعامل فقط مع الbinding list فلاضافة بيانات نقوم بالاتي
كود :
PurchaseData P = new PurchaseData();
P.ItemName = textBox1.Text;
P.ItemPrice = decimal.Parse(textBox2.Text);
PD.Add(P);
كما يمكن ان نقوم بجمع المشتريات كما فى المثال السابق ولكن هناك مشكله فلا يوجد حدث في الجرد لحذف سطر ولذلك كما قلنا سنعتمد على bindingList
ولكن كيف
bindingList لديها حدث ListChangedEventHandler ويتم استخدامه كالاتي
كود :
PD.ListChanged += new ListChangedEventHandler(PD_ListChanged);
void PD_ListChanged(object sender, ListChangedEventArgs e)
{
}
المجموع تلقائيا