Hi,
I am new to c# windows application.I have added a listview programatically to c# win form. I want to add a listview row (editable row) dynamically on click of Add button so that user can type new items and save it.
Please see the code which adds a listview and adds some item to the list view.
private ListView listView1; private Button AddBtn; public Form1() { InitializeComponent(); // adds listview to the form AddControls(); // Adding products to the listview AddProducts(); } private void AddControls() { listView1 = new ListView(); listView1.Location = new System.Drawing.Point(0, 12); this.listView1.Name = "listView1"; this.listView1.Size = new System.Drawing.Size(250, 175); this.listView1.TabIndex = 0; this.listView1.UseCompatibleStateImageBehavior = false; this.listView1.View = System.Windows.Forms.View.Details;
// Adding listview header listView1.Columns.Add("Product name", 100); listView1.Columns.Add("Search string", 100);
this.Controls.Add(listView1);
// Adds a add button this.AddBtn = new System.Windows.Forms.Button(); this.AddBtn.Location = new System.Drawing.Point(0, 211); this.AddBtn.Name = "AddBtn"; this.AddBtn.Size = new System.Drawing.Size(75, 23); this.AddBtn.TabIndex = 2; this.AddBtn.Text = "Add"; this.AddBtn.UseVisualStyleBackColor = true;
this.Controls.Add(AddBtn);
}
// Adds products to the listview private void AddProducts() { IDictionary<string, string> products = GetProducts(); foreach (var p in products) { ListViewItem lstItem = new ListViewItem(p.Key); lstItem.SubItems.Add(p.Value); listView1.Items.Add(lstItem); } }
// Gets the products private IDictionary<string, string> GetProducts() { IDictionary<string, string> products = new Dictionary<string, string>(); products.Add("product a", "a"); products.Add("product b", "b"); products.Add("product c", "c"); products.Add("product d", "d"); return products; }
Is it posible to add a new editable row to the listview so that user can type a new product name and new search stringand save it using another save button.
Thanks for the help. Your help will be heighly appriciated.
Thanks.Regards