Solved

selected rows in winform gridview

Posted on 2009-07-13
4
629 Views
Last Modified: 2013-12-17
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?
0
Comment
Question by:Angel02
  • 3
4 Comments
 
LVL 19

Expert Comment

by:daveamour
Comment Utility
Hi
Do you mean a DataGridView rather than a Gridview?
0
 
LVL 19

Accepted Solution

by:
daveamour earned 500 total points
Comment Utility
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
 

Author Comment

by:Angel02
Comment Utility
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
 
LVL 19

Expert Comment

by:daveamour
Comment Utility
Yep thats right about the names.
To make it even more confusing they have different names in earlier versions of the framework too!
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Wpf develop 5 29
Exception in Log4Net 1 17
Convert to Hour/minute textbox and compare 3 33
Closing all open child forms. 4 21
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now