Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: WinForm
Hi,
 
I have a table Department (DeptID,DeptName,Location) in database.
 
Need to get data into datagridview where the first column must be a Checkbox and last column must be a delete button.
 
1) How to do this...I am not getting any idea as I have never tried in Windows app.
2) How to select a row when checkbox is selected and Delete button is clicked.
 
Thank you..
 
Prathap
Posted 24-Dec-12 19:13pm
Comments
Krunal Rohit at 25-Dec-12 1:16am
   
Prathap Gangireddy at 25-Dec-12 1:51am
   
Hi, Thanks for the reply. Below is my code. SqlConnection cn=new SqlConnection("server=PRATHAPG\\SQLEXPRESS;database=Prathap;trusted_connection=true"); SqlCommand cmd=new SqlCommand("Select * from Depts",cn); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable ds = new DataTable(); da.Fill(ds); DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn(); gvdept.Columns.Add(chk); chk.HeaderText = "Select"; chk.Name = "chk"; gvdept.DataSource = ds; But I am not able to select the checkbox.Do i need to make some changes in the selectionmode and How to delete the row when we select the checkbox.
Prathap Gangireddy at 25-Dec-12 2:41am
   
Hi Rohit,
 
I have sorted out the problem.Now everything works fine.Can you please help me how to delete a particular row when checkbox is checked.
 
Thanks.
Prathap.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

The DataGridView control and its related classes are designed to be a flexible, extensible system for displaying and editing tabular data. The DataGridView control provides TextBox, CheckBox, Image, Button, ComboBox and Link columns with the corresponding cell types. While adding a CheckBox in a cell, the cell Value property can be set explicitly through programmatic code that accesses the cell in the Cells collection of the row, or it can be set through data binding.
 
The following C# code shows how to add a CheckBox in Cell of a DataGridView control and set the third row checkbox value as true.
DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();
dataGridView1.Columns.Add(chk);
chk.HeaderText = "Check Data";
chk.Name = "chk";
dataGridView1.Rows[2].Cells[3].Value = true;
 
And this shows how to add a button;
DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
dataGridView1.Columns.Add(btn);
btn.HeaderText = "Click Data";
btn.Text = "Click Here";
btn.Name = "btn";
btn.UseColumnTextForButtonValue = true;
 
Good luck,
OI
  Permalink  
Comments
Prathap Gangireddy at 25-Dec-12 1:51am
   
Hi, Thanks for the reply.
 
Below is my code.
 
SqlConnection cn=new SqlConnection("server=PRATHAPG\\SQLEXPRESS;database=Prathap;trusted_connection=true");
SqlCommand cmd=new SqlCommand("Select * from Depts",cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable ds = new DataTable();
da.Fill(ds);
DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();
gvdept.Columns.Add(chk);
chk.HeaderText = "Select";
chk.Name = "chk";
gvdept.DataSource = ds;
 

 

 
But I am not able to select the checkbox.Do i need to make some changes in the selectionmode and How to delete the row when we select the checkbox.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

  Permalink  
Comments
Prathap Gangireddy at 25-Dec-12 2:41am
   
Hi,
 
I have sorted out the problem.Now everything works fine.Can you please help me how to delete a particular row when checkbox is checked.
 
Thanks.
Prathap.
ridoy at 25-Dec-12 2:45am
   
check..
http://stackoverflow.com/questions/6439667/how-to-remove-rows-in-data-grid-view-where-checkbox-is-checked
http://social.msdn.microsoft.com/Forums/eu/csharplanguage/thread/90334fcb-adec-4e9a-9148-763eed1fbb33
http://www.codeproject.com/Questions/458516/Can-not-Delete-Checked-Rows-in-DatagridView
Prathap Gangireddy at 25-Dec-12 2:59am
   
Hi Ridoy,
 
Thanks for the links.But most of the solutions include iterating through all the rows and I want to delete only the selected row.
 
Is it possible.
Prathap Gangireddy at 25-Dec-12 3:03am
   
hi Ridoy,
 
Thanks for the help.
 
Below are my mistakes
 
1) Not able to check the checkbox - Datagrid readonly property was true.So changed to false.
 
2)Not able to add Checkbox at the first column and Delete button in lastrow.Then did changed to code..working fine
 
SqlConnection cn=new SqlConnection("server=PRATHAPG\\SQLEXPRESS;database=Prathap;trusted_connection=true");
SqlCommand cmd=new SqlCommand("Select * from Depts",cn);
SqlDataAdapter da = new SqlDataAdapter(cmd);

da.Fill(ds);
DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();
gvdept.Columns.Add(chk);
chk.HeaderText = "Select";
chk.Name = "chk";
gvdept.AllowUserToAddRows = false;
gvdept.DataSource = ds;
gvdept.Columns[1].Visible = false;
DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
btn.Name = "btnDeleterow";
btn.HeaderText = "Delete";
gvdept.Columns.Add(btn);
 
3) Not able to delete when checkbox is checked.Now finally solved it
 
private void gvdept_CellClick(object sender, DataGridViewCellEventArgs e)
{
int i = e.RowIndex;
if ((bool)gvdept.Rows[i].Cells[0].FormattedValue)
{
 
if (e.ColumnIndex >= 0)
{
if (gvdept.Columns[e.ColumnIndex].Name == "btnDeleterow")
{
// gvdept.Rows.RemoveAt(e.RowIndex);
string deptid = gvdept.Rows[e.RowIndex].Cells[2].Value.ToString();
MessageBox.Show(deptid);
 
}
}
}
ridoy at 25-Dec-12 3:05am
   
glad to see you solve those..happy coding..:)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



Advertise | Privacy | Mobile
Web03 | 2.8.141015.1 | Last Updated 25 Dec 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100