/ / DataGridView नमूना बाध्यकारी मुद्दा - .net, winforms, डेटा-बाइंडिंग, डेटाग्रिड्यू

DataGridView नमूना बाध्यकारी समस्या - .NET, Winforms, डेटा बाध्यकारी, डेटाग्रिडव्यू

मुझे एक फॉर्म (नाम-मान) में एक चर जोड़ी सूची जोड़ने की आवश्यकता है। मैंने इसे डेटाग्रिडव्यू में सेट करने का निर्णय लिया, और इसे प्रबंधित करने के लिए सरल बिंगिंग का उपयोग किया ().नेट 2):

public class EventParameter
{
private string name;

public string Name
{
get { return name; }
set { name = value; }
}
private string value;

public string Value
{
get { return this.value; }
set { this.value = value; }
}
}

///////////////////// USER CONTROL INITIALIZATION
private List<EventParameter> eventGridParams;
public GridEventSender()
{
InitializeComponent();
eventGridParams = new List<EventParameter>();
this.dataGridView1.AutoGenerateColumns = true;
this.dataGridView1.DataSource = eventGridParams;
}

///////////////////// ADD PARAMETER BUTTON
private void btnAddParam_Click(object sender, EventArgs e)
{
eventGridParams.Add(new EventParameter());
}

जब मैं एप्लिकेशन लॉन्च करता हूं, तो मैं देखता हूं कि 2 कॉलम, नाम और मूल्य ऑटोजेनरेटेड हैं, और ग्रिड खाली है।

लेकिन जब मैं जोड़ें पैरामीटर बटन पर क्लिक करता हूं, तो कुछ भी नहीं होता है ... त्रुटि कहां है?

उत्तर:

जवाब के लिए 2 № 1
public partial class frmGridView : Form
{
private List<EventParameter> eventGridParams;
private BindingSource bs;
public frmGridView()
{
InitializeComponent();
eventGridParams = new List<EventParameter>();
bs = new BindingSource();
bs.DataSource = eventGridParams;
//this.dataGridView1.AutoGenerateColumns = true;    //you don"t need this
this.dataGridView1.DataSource = bs;
}

private void button1_Click(object sender, EventArgs e)
{
//eventGridParams.Add(new EventParameter() { Name="a", Value = "a"});   //object initializer is only available for c# 3.0
EventParameter eventParam = new EventParameter();
eventParam.Name = "a";
eventParam.Value = "a";
eventGridParams.Add(eventParam);
bs.ResetBindings(false);
}
}