Set up DataGridView from DataColumn : DataGridView « Database ADO.net « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » Database ADO.net » DataGridViewScreenshots 
Set up DataGridView from DataColumn


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Car {
    public string carPetName, carMake, carColor;
    public Car(string petName, string make, string color) {
        carPetName = petName;
        carColor = color;
        carMake = make;
    }
}
public class MainForm : Form {
    private List<Car> arTheCars = new List<Car>();
    private DataTable inventoryTable = new DataTable("Inventory");
    DataView coltsOnlyView;      // I only show red colts.

    public MainForm() {
        InitializeComponent();
        arTheCars.Add(new Car("C""BMW""Green"));
        arTheCars.Add(new Car("T""Y""White"));
        arTheCars.Add(new Car("AAA""Jeep""Tan"));
        arTheCars.Add(new Car("PInducer""Caravan""Pink"));
        arTheCars.Add(new Car("F""BMW""Pea Soup Green"));
        arTheCars.Add(new Car("B""BMW""Black"));
        arTheCars.Add(new Car("M""DDD""Red"));
        arTheCars.Add(new Car("S""Colt""Black"));

        CreateDataTable();
        CreateDataView();
    }

    private void CreateDataTable() {
        DataColumn carIDColumn = new DataColumn("CarID", typeof(int));
        carIDColumn.ReadOnly = true;
        carIDColumn.Caption = "Car ID";
        carIDColumn.AllowDBNull = false;
        carIDColumn.Unique = true;
        carIDColumn.AutoIncrement = true;
        carIDColumn.AutoIncrementSeed = 0;
        carIDColumn.AutoIncrementStep = 1;
        carIDColumn.ColumnMapping = MappingType.Attribute;

        DataColumn carMakeColumn = new DataColumn("Make", typeof(string));
        DataColumn carColorColumn = new DataColumn("Color", typeof(string));
        DataColumn carPetNameColumn = new DataColumn("PetName", typeof(string));
        carPetNameColumn.Caption = "Pet Name";
        inventoryTable.Columns.AddRange(new DataColumn[] { carIDColumn, carMakeColumn, carColorColumn, carPetNameColumn });

        inventoryTable.PrimaryKey = new DataColumn[] { inventoryTable.Columns[0] };

        foreach (Car c in arTheCars) {
            DataRow newRow = inventoryTable.NewRow();
            newRow["Make"= c.carMake;
            newRow["Color"= c.carColor;
            newRow["PetName"= c.carPetName;
            inventoryTable.Rows.Add(newRow);
        }
        carInventoryGridView.DataSource = inventoryTable;
    }
    private void CreateDataView() {
        coltsOnlyView = new DataView(inventoryTable);
        coltsOnlyView.RowFilter = "Make = 'Colt'";
        dataGridColtsView.DataSource = coltsOnlyView;
    }
    private void btnRemoveRow_Click(object sender, EventArgs e) {
        try {
            inventoryTable.Rows[(int.Parse(txtRowToRemove.Text))].Delete();
            inventoryTable.AcceptChanges();
        catch (Exception ex) {
            MessageBox.Show(ex.Message);
        }
    }

    private void btnGetMakes_Click(object sender, EventArgs e) {
        string filterStr = string.Format("Make= '{0}' ", txtMakeToGet.Text);
        DataRow[] makes = inventoryTable.Select(filterStr, "PetName DESC");
        if (makes.Length == 0)
            MessageBox.Show("Sorry, no cars...""Selection error!");
        else {
            string strMake = null;
            for (int i = 0; i < makes.Length; i++) {
                DataRow temp = makes[i];
                strMake += temp["PetName""\n";
            }
            MessageBox.Show(strMake, txtMakeToGet.Text + " type(s):");
        }
    }

    private void btnChangeBeemersToColts_Click(object sender, EventArgs e) {
        string filterStr = "Make='BMW'";
        string strMake = null;

        DataRow[] makes = inventoryTable.Select(filterStr);
        for (int i = 0; i < makes.Length; i++) {
            DataRow temp = makes[i];
            strMake += temp["Make""Colt";
            makes[i= temp;
        }
    }
    private void ShowCarsWithIdLessThanFive() {
        DataRow[] properIDs;
        string newFilterStr = "ID > '5'";
        properIDs = inventoryTable.Select(newFilterStr);
        string strIDs = null;
        for (int i = 0; i < properIDs.Length; i++) {
            DataRow temp = properIDs[i];
            strIDs += temp["PetName"]
                " is ID " + temp["ID""\n";
        }
        MessageBox.Show(strIDs, "Pet names of cars where ID > 5");
    }
    private void InitializeComponent() {
        this.label1 = new System.Windows.Forms.Label();
        this.carInventoryGridView = new System.Windows.Forms.DataGridView();
        this.btnRemoveRow = new System.Windows.Forms.Button();
        this.txtRowToRemove = new System.Windows.Forms.TextBox();
        this.txtMakeToGet = new System.Windows.Forms.TextBox();
        this.btnGetMakes = new System.Windows.Forms.Button();
        this.btnChangeBeemersToColts = new System.Windows.Forms.Button();
        this.dataGridColtsView = new System.Windows.Forms.DataGridView();
        this.label2 = new System.Windows.Forms.Label();
        ((System.ComponentModel.ISupportInitialize)(this.carInventoryGridView)).BeginInit();
        ((System.ComponentModel.ISupportInitialize)(this.dataGridColtsView)).BeginInit();
        this.SuspendLayout();
        // 
        this.label1.AutoSize = true;
        this.label1.Location = new System.Drawing.Point(1176);
        this.label1.Name = "label1";
        this.label1.Size = new System.Drawing.Size(10213);
        this.label1.TabIndex = 0;
        this.label1.Text = "All Cars in DataTable";
        // 
        this.carInventoryGridView.Location = new System.Drawing.Point(1293);
        this.carInventoryGridView.Name = "carInventoryGridView";
        this.carInventoryGridView.Size = new System.Drawing.Size(392150);
        this.carInventoryGridView.TabIndex = 1;
        this.carInventoryGridView.Text = "dataGridView1";
        // 
        this.btnRemoveRow.Location = new System.Drawing.Point(1213);
        this.btnRemoveRow.Name = "btnRemoveRow";
        this.btnRemoveRow.Size = new System.Drawing.Size(10123);
        this.btnRemoveRow.TabIndex = 2;
        this.btnRemoveRow.Text = "Remove Row #";
        this.btnRemoveRow.Click += new System.EventHandler(this.btnRemoveRow_Click);
        // 
        this.txtRowToRemove.Location = new System.Drawing.Point(12015);
        this.txtRowToRemove.Name = "txtRowToRemove";
        this.txtRowToRemove.Size = new System.Drawing.Size(10020);
        this.txtRowToRemove.TabIndex = 3;
        // 
        this.txtMakeToGet.Location = new System.Drawing.Point(12044);
        this.txtMakeToGet.Name = "txtMakeToGet";
        this.txtMakeToGet.Size = new System.Drawing.Size(10020);
        this.txtMakeToGet.TabIndex = 5;
        // 
        // btnGetMakes
        // 
        this.btnGetMakes.Location = new System.Drawing.Point(1242);
        this.btnGetMakes.Name = "btnGetMakes";
        this.btnGetMakes.Size = new System.Drawing.Size(10123);
        this.btnGetMakes.TabIndex = 4;
        this.btnGetMakes.Text = "Get These Makes";
        this.btnGetMakes.Click += new System.EventHandler(this.btnGetMakes_Click);
        // 
        // btnChangeBeemersToColts
        // 
        this.btnChangeBeemersToColts.Location = new System.Drawing.Point(24515);
        this.btnChangeBeemersToColts.Name = "btnChangeBeemersToColts";
        this.btnChangeBeemersToColts.Size = new System.Drawing.Size(15923);
        this.btnChangeBeemersToColts.TabIndex = 6;
        this.btnChangeBeemersToColts.Text = "Change BMW to Colts";
        this.btnChangeBeemersToColts.Click += new System.EventHandler(this.btnChangeBeemersToColts_Click);
        // 
        // dataGridColtsView
        // 
        this.dataGridColtsView.Location = new System.Drawing.Point(12266);
        this.dataGridColtsView.Name = "dataGridColtsView";
        this.dataGridColtsView.Size = new System.Drawing.Size(392150);
        this.dataGridColtsView.TabIndex = 8;
        this.dataGridColtsView.Text = "dataGridView1";
        // 
        // label2
        // 
        this.label2.AutoSize = true;
        this.label2.Location = new System.Drawing.Point(11249);
        this.label2.Name = "label2";
        this.label2.Size = new System.Drawing.Size(7613);
        this.label2.TabIndex = 7;
        this.label2.Text = "Colts Only View";
        // 
        // MainForm
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(417433);
        this.Controls.Add(this.dataGridColtsView);
        this.Controls.Add(this.label2);
        this.Controls.Add(this.btnChangeBeemersToColts);
        this.Controls.Add(this.txtMakeToGet);
        this.Controls.Add(this.btnGetMakes);
        this.Controls.Add(this.txtRowToRemove);
        this.Controls.Add(this.btnRemoveRow);
        this.Controls.Add(this.carInventoryGridView);
        this.Controls.Add(this.label1);
        this.Name = "MainForm";
        this.Text = "Car Data Table";
        ((System.ComponentModel.ISupportInitialize)(this.carInventoryGridView)).EndInit();
        ((System.ComponentModel.ISupportInitialize)(this.dataGridColtsView)).EndInit();
        this.ResumeLayout(false);
        this.PerformLayout();
    }
    private System.Windows.Forms.Label label1;
    private System.Windows.Forms.DataGridView carInventoryGridView;
    private System.Windows.Forms.Button btnRemoveRow;
    private System.Windows.Forms.TextBox txtRowToRemove;
    private System.Windows.Forms.TextBox txtMakeToGet;
    private System.Windows.Forms.Button btnGetMakes;
    private System.Windows.Forms.Button btnChangeBeemersToColts;
    private System.Windows.Forms.DataGridView dataGridColtsView;
    private System.Windows.Forms.Label label2;

    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.Run(new MainForm());
    }
}

           
       
Related examples in the same category
1.Bind DataGridView to Array
2.Data Source with Generic Collection
3.Setup Columns for DataGridView
4.Bind List to DataGridView
5.Custom DataGridView with DataGridViewTextBoxColumn, DataGridViewImageColumn,DataGridViewComboBoxColumn
6.Use DataViewRowState to filter DataGridView
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.