Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

selected rows in winform gridview

Posted on 2009-07-13
4
Medium Priority
?
677 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
ID: 24847370
Hi
Do you mean a DataGridView rather than a Gridview?
0
 
LVL 19

Accepted Solution

by:
daveamour earned 2000 total points
ID: 24847444
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
ID: 24850414
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
ID: 24852000
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

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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…
For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
Suggested Courses

824 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