how to add check box in windows form datagrid

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • karthi84
    Contributor
    • Dec 2006
    • 270

    how to add check box in windows form datagrid

    hi,
    can any one help me in adding check box to a data grid in windows form. if possible help me with c#.
  • radcaesar
    Recognized Expert Contributor
    • Sep 2006
    • 759

    #2
    Originally posted by karthi84
    hi,
    can any one help me in adding check box to a data grid in windows form. if possible help me with c#.
    Here is some thing for u,

    Code:
    //include all the required namespaces
    
    using System;  
    using System.Drawing;  
    using System.Collections;  
    using System.ComponentModel;  
    using System.Windows.Forms;  
    using System.Data;  
    using System.Text;  
    using System.Xml;  
      
    namespace Test  
    {
                    
    public class TestDataGrid : System.Windows.Forms 
    {
        /// <summary> 
          /// Required designer variable. 
          /// </summary>   
          private System.Windows.Forms.ComboBox cmbFunctionArea;
          private DataTable                     dtblFunctionalArea;
          private DataGrid                      dgdFunctionArea;
    }
    /// <summary>  
    /// public constructor 
    /// </summary>  
    
    public frmInitialShortListing()  
    {  
          //automatically generated by the VS Designer  
          //creates the object of the above designer variables  
          InitializeComponent();
          PopulateGrid();  
    }
    
    private void PopulateGrid()
    {
          //Declare and initialize local variables used
          DataColumn dtCol = null;//Data Column variable
          string[]   arrstrFunctionalArea = null;//string array variable
          System.Windows.Forms.ComboBox cmbFunctionArea;  //combo box var              
          DataTable dtblFunctionalArea;//Data Table var
               
          //Create the combo box object and set its properties
          cmbFunctionArea               = new ComboBox();
          cmbFunctionArea.Cursor        = System.Windows.Forms.Cursors.Arrow;
          cmbFunctionArea.DropDownStyle=System.Windows.Forms.ComboBoxStyle.DropDownList;
          cmbFunctionArea.Dock          = DockStyle.Fill;
          //Event that will be fired when selected index in the combo box is changed
          cmbFunctionArea.SelectionChangeCommitted += new   EventHandlercmbFunctionArea_SelectedIndexChanged);
         
          //Create the String array object, initialize the array with the column
          //names to be displayed
          arrstrFunctionalArea          = new string [3];
          arrstrFunctionalArea[0]       = "Functional Area";
          arrstrFunctionalArea[1]       = "Min";
          arrstrFunctionalArea[2]       = "Max";
         
          //Create the Data Table object which will then be used to hold
          //columns and rows
          dtblFunctionalArea            = new DataTable ("FunctionArea");
          //Add the string array of columns to the DataColumn object       
          for(int i=0; i< 3;i++)
          {    
                string str        = arrstrFunctionalArea[i];
                dtCol             = new DataColumn(str);
                dtCol.DataType          = System.Type.GetType("System.String");
                dtCol.DefaultValue      = "";
                dtblFunctionalArea.Columns.Add(dtCol);               
          }     
    
          //Add a Column with checkbox at last in the Grid     
          DataColumn dtcCheck    = new DataColumn("IsMandatory");//create the data          //column object with the name 
          dtcCheck.DataType      = System.Type.GetType("System.Boolean");//Set its //data Type
          dtcCheck.DefaultValue  = false;//Set the default value
          dtblFunctionalArea.Columns.Add(dtcCheck);//Add the above column to the //Data Table
      
          //Set the Data Grid Source as the Data Table createed above
          dgdFunctionArea.DataSource    = dtblFunctionalArea; 
    
    //set style property when first time the grid loads, next time onwards it //will maintain its property
    if(!dgdFunctionArea.TableStyles.Contains("FunctionArea"))
    {
                //Create a DataGridTableStyle object     
                DataGridTableStyle dgdtblStyle      = new DataGridTableStyle();
                //Set its properties
                dgdtblStyle.MappingName            = dtblFunctionalArea.TableName;//its table name of dataset
                dgdFunctionArea.TableStyles.Add(dgdtblStyle);
                dgdtblStyle.RowHeadersVisible       = false;
                dgdtblStyle.HeaderBackColor         = Color.LightSteelBlue;
                dgdtblStyle.AllowSorting            = false;
                dgdtblStyle.HeaderBackColor         = Color.FromArgb(8,36,107);
                dgdtblStyle.RowHeadersVisible       = false;
                dgdtblStyle.HeaderForeColor         = Color.White;
                dgdtblStyle.HeaderFont              = new System.Drawing.Font("Microsoft Sans Serif", 9F,  
                    System.Drawing.FontStyle.Bold, 
                    System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
                dgdtblStyle.GridLineColor           = Color.DarkGray;
                dgdtblStyle.PreferredRowHeight            = 22;
                dgdFunctionArea.BackgroundColor           = Color.White; 
    
    //Take the columns in a GridColumnStylesCollection object and set //the size of the
                //individual columns   
                GridColumnStylesCollection    colStyle;
    colStyle                = dgdFunctionArea.TableStyles[0].GridColumnStyles;
                colStyle[0].Width             = 100;
                colStyle[1].Width       = 50;
                colStyle[2].Width       = 50;
                colStyle[3].Width       = 80;
    }
    
      //To add the combo box dynamically to the data grid, you have to take the // Text Box that is present (by default) in the column where u want to add //this combo box (here it is first column i.e. Functional Area).From the //tablestyles of the data grid take the grid column styles of the column //where you want to add the combo box respectively.
    
                DataGridTextBoxColumn dgtb    =     (DataGridTextBoxColumn)dgdFunctionArea.TableStyles[0].GridColumnStyles[0];
    
          //Add the combo box to the text box taken in the above step 
          dgtb.TextBox.Controls.Add (cmbFunctionArea);        
    
    Note:-//After these add the code to fill the details in the grid by //establishing
          // connection to the server and writing necessary steps: 
    
      }//end of the class
    
    }//end of the namespace

    Comment

    • rajkiran
      New Member
      • Jan 2007
      • 3

      #3
      Originally posted by karthi84
      hi,
      can any one help me in adding check box to a data grid in windows form. if possible help me with c#.
      visit:
      http://RustemSoft.com/DataGridColumns .htm

      Comment

      • karthi84
        Contributor
        • Dec 2006
        • 270

        #4
        thanks for the coding and the link that was much help ful for me

        Comment

        Working...