selected rows in winform gridview

I have a gridview created in windows forms. I need to obtain the selected rows in the grid view, and clear the contents of column with index 3.
That is, the values of cells in column 3 in selected rows should be made "".

Should I use the SelectedRow property for this purpose? If yes, how?
Angel02Asked:
Who is Participating?
 
daveamourConnect With a Mentor Commented:
Anyway try something like this...
namespace EEGridView
{
    partial class Mainform
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
 
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
 
        #region Windows Form Designer generated code
 
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.testGrid = new System.Windows.Forms.DataGridView();
            this.TestButton = new System.Windows.Forms.Button();
            ((System.ComponentModel.ISupportInitialize)(this.testGrid)).BeginInit();
            this.SuspendLayout();
            // 
            // testGrid
            // 
            this.testGrid.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            this.testGrid.Location = new System.Drawing.Point(37, 30);
            this.testGrid.Name = "testGrid";
            this.testGrid.Size = new System.Drawing.Size(574, 331);
            this.testGrid.TabIndex = 0;
            // 
            // TestButton
            // 
            this.TestButton.Location = new System.Drawing.Point(37, 383);
            this.TestButton.Name = "TestButton";
            this.TestButton.Size = new System.Drawing.Size(75, 23);
            this.TestButton.TabIndex = 1;
            this.TestButton.Text = "Test";
            this.TestButton.UseVisualStyleBackColor = true;
            this.TestButton.Click += new System.EventHandler(this.TestButton_Click);
            // 
            // Mainform
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(653, 433);
            this.Controls.Add(this.TestButton);
            this.Controls.Add(this.testGrid);
            this.Name = "Mainform";
            this.Text = "Main Form";
            this.Load += new System.EventHandler(this.Mainform_Load);
            ((System.ComponentModel.ISupportInitialize)(this.testGrid)).EndInit();
            this.ResumeLayout(false);
 
        }
 
        #endregion
 
        private System.Windows.Forms.DataGridView testGrid;
        private System.Windows.Forms.Button TestButton;
    }
}
 
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace EEGridView
{
    public partial class Mainform : Form
    {
        public Mainform()
        {
            InitializeComponent();
        }
 
        private void Mainform_Load(object sender, EventArgs e)
        {
            LoadData();
        }
 
        private void LoadData()
        {
            testGrid.DataSource = TestData();
        }
 
        private List<Person> TestData()
        {
            List<Person> people = new List<Person>();
 
            people.Add(new Person("Dave", "Amour", "Mansfield"));
            people.Add(new Person("Fred", "Bloggs", "Cannock"));
            people.Add(new Person("Tracey", "Smith", "Derby"));
 
            return people;
        }
 
        private void TestButton_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow row in testGrid.SelectedRows)
            {
                row.Cells[2].Value = string.Empty;
            }            
        }
    }
 
    public class Person
    {
        public Person(string firstname, string lastname, string town)
        {
            FirstName = firstname;
            LastName = lastname;
            Town = town;
        }
 
        public string FirstName
        {
            get;
 
            set;
        }
 
        public string LastName
        {
            get;
 
            set;
        }
 
        public string Town
        {
            get;
 
            set;
        }
    }
}

Open in new window

0
 
daveamourCommented:
Hi
Do you mean a DataGridView rather than a Gridview?
0
 
Angel02Author Commented:
Perfect! Thanks a lot. This is what I needed.

 private void TestButton_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow row in testGrid.SelectedRows)
            {
                row.Cells[2].Value = string.Empty;
            }            
        }

PS:
I think in Windows Forms its called DataGridView (System.Windows.Forms.DataGridView), and in web controls its called GridView (System.Web.UI.WebControls)
0
 
daveamourCommented:
Yep thats right about the names.
To make it even more confusing they have different names in earlier versions of the framework too!
0
All Courses

From novice to tech pro — start learning today.