Mega Code Archive

 
Categories / C# / ADO Database
 

Setup Columns for DataGridView

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Configuration; using System.Data.SqlClient; // CustomDataGridView public class Form1 : Form {     public Form1() {         InitializeComponent();     }     private void getData_Click(object sender, EventArgs e) {         getData.Enabled = false;         using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["northwind"].ConnectionString)) {             string select = "SELECT EmployeeID, FirstName, LastName, Photo, IsNull(ReportsTo,0) as ReportsTo FROM Employees";             SqlDataAdapter da = new SqlDataAdapter(select, con);             DataSet ds = new DataSet();             da.Fill(ds, "Employees");             select = "SELECT EmployeeID, FirstName + ' ' + LastName as Name FROM Employees union select 0,'(None)'";             da = new SqlDataAdapter(select, con);             da.Fill(ds, "Managers");             SetupColumns(ds);             dataGridView1.AutoGenerateColumns = false;             dataGridView1.DataSource = ds.Tables["Employees"];             dataGridView1.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCells);         }     }     private void SetupColumns(DataSet ds) {         DataGridViewTextBoxColumn forenameColumn = new DataGridViewTextBoxColumn();         forenameColumn.DataPropertyName = "FirstName";         forenameColumn.HeaderText = "Forename";         forenameColumn.ValueType = typeof(string);         forenameColumn.Frozen = true;         dataGridView1.Columns.Add(forenameColumn);         DataGridViewTextBoxColumn surnameColumn = new DataGridViewTextBoxColumn();         surnameColumn.DataPropertyName = "LastName";         surnameColumn.HeaderText = "Surname";         surnameColumn.Frozen = true;         surnameColumn.ValueType = typeof(string);         dataGridView1.Columns.Add(surnameColumn);         DataGridViewImageColumn photoColumn = new DataGridViewImageColumn();         photoColumn.DataPropertyName = "Photo";         photoColumn.Width = 200;         photoColumn.HeaderText = "Image";         photoColumn.ReadOnly = true;         photoColumn.ImageLayout = DataGridViewImageCellLayout.Normal;         dataGridView1.Columns.Add(photoColumn);         DataGridViewComboBoxColumn reportsToColumn = new DataGridViewComboBoxColumn();         reportsToColumn.HeaderText = "Reports To";         reportsToColumn.DataSource = ds.Tables["Managers"];         reportsToColumn.DisplayMember = "Name";         reportsToColumn.ValueMember = "EmployeeID";         reportsToColumn.DataPropertyName = "ReportsTo";         dataGridView1.Columns.Add(reportsToColumn);     }     private void InitializeComponent() {         this.dataGridView1 = new System.Windows.Forms.DataGridView();         this.getData = new System.Windows.Forms.Button();         ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();         this.SuspendLayout();         //          // dataGridView1         //          this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)                     | System.Windows.Forms.AnchorStyles.Left)                     | System.Windows.Forms.AnchorStyles.Right)));         this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;         this.dataGridView1.Location = new System.Drawing.Point(13, 13);         this.dataGridView1.Name = "dataGridView1";         this.dataGridView1.Size = new System.Drawing.Size(507, 372);         this.dataGridView1.TabIndex = 0;         //          // getData         //          this.getData.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));         this.getData.Location = new System.Drawing.Point(445, 391);         this.getData.Name = "getData";         this.getData.Size = new System.Drawing.Size(75, 23);         this.getData.TabIndex = 1;         this.getData.Text = "Get Data";         this.getData.UseVisualStyleBackColor = true;         this.getData.Click += new System.EventHandler(this.getData_Click);         //          // Form1         //          this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);         this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;         this.ClientSize = new System.Drawing.Size(532, 426);         this.Controls.Add(this.getData);         this.Controls.Add(this.dataGridView1);         this.Name = "Form1";         this.Text = "CustomDataGridView";         ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();         this.ResumeLayout(false);     }     private System.Windows.Forms.DataGridView dataGridView1;     private System.Windows.Forms.Button getData;     [STAThread]     static void Main() {         Application.EnableVisualStyles();         Application.SetCompatibleTextRenderingDefault(false);         Application.Run(new Form1());     } }