DataGridView versus DataGrid


by RustemSoft - Date: 2007-04-25 - Word Count: 1008 Share This!

DataGridView Windows Forms control
The DataGridView Windows Forms control is a quite new .NET control introduced in MS Visual Studio .NET 2005 that is a good alternative to the VS .NET 1.x DataGrid control. The data table presentation feature became much easier to be implemented in .NET Windows application. The most attractive features of the new control are:
It allows to mix both data bound and unbound, virtual columns in the GridView.
It has a special virtual mode allowing to actually display more than 100 000 rows without a huge performance hit.
It gives ability to easily apply styles to individual columns, rows, cells, or an entire data source table.

DataGrid Windows Forms control
Obviously we do not need to disregard the .NET DataGrid control. For most situations it works faster than the new DataGridView. Also the control gives you ability to display hierarchical data. This is a big advantage of DataGrid .NET Windows Forms control.
In Visual Studio .NET 1.x, the DataGrid control is not easy to be used in .NET Windows application. A quantity of jobs you may want to achieve with the Windows Forms DataGrid control are, unexpectedly, more troublesome than you might expect. Principally, this is because the Windows Forms DataGrid control is column-based, rather than cell-based. As a result, to attain most tasks, you have to work with the columns, not the cells themselves.
DataGridColumns .NET assembly from RustemSoft is a DataGrid Columns Styles software package specifically designed for .NET developers. The assembly allows you to use all strengths of the MS Windows .NET forms DataGrid control without waiving the user interface elements your customers need. Learn more about DataGridColumns .NET assembly: http://www.smrtx.com/RS/datagrid_net.htm

VB .NET
Private Sub AddDataGridColumn()

Dim dataset As New DataSet

' Put some actions to populate the dataset

Dim TblStyle As New DataGridTableStyle

With TblStyle

' Set column style

With .GridColumnStyles

' Set datagrid ComboBox ColumnStyle for PubID field

.Add(New DataGridComboBoxColumn(dataset.Tables.Item("Companies"), 1, 0))

With .Item(0)

.MappingName = "PubID"

.HeaderText = "Company ID"

.Width = 150

.NullText = String.Empty

End With

End With

End With

' Add TableStyle

DataGrid1.TableStyles.Add(TblStyle)

End Sub



C#

private void AddDataGridColumn()

{

DataSet dataset = new DataSet();

// Put some actions to populate the dataset

// Set column style

DataGridTableStyle TblStyle = new DataGridTableStyle();

// Set datagrid ComboBox ColumnStyle for PubID field

DataTable tblCompanies = dataset.Tables["Companies"];

TblStyle.GridColumnStyles.Add(new DataGridComboBoxColumn(ref tblCompanies, 1, 0, true, false, true, DataGridComboBoxColumn.DisplayModes.ShowDisplayMember,0));

TblStyle.GridColumnStyles[0].MappingName = "PubID";

TblStyle.GridColumnStyles[0].HeaderText = "Company ID";

TblStyle.GridColumnStyles[0].Width = 150;

TblStyle.GridColumnStyles[0].NullText = string.Empty;

// Add TableStyle

DataGrid1.TableStyles.Add(TblStyle);

}



The above example creates a DataGridComboBoxColumn and adds it into DataGrid TableStyle.



DataGridView Columns .NET 2.0 assembly
In the new MS Visual Studio .NET 2005, the DataGridView control provides a visual table layout for displaying data. All DataGridView control designing operations are just dragging and dropping into the IDE design layout window. The DataGridView .NET 2.0 control seems a lot better than DataGrid .NET 1.x control. It provides a powerful and flexible way to display a data source. You can extend the DataGridView control in a number of ways to build custom behaviors into your applications. Although you can create your own types of cells the Windows Forms DataGridView control is mostly column-based, rather than cell-based. As a result, to attain most tasks, you have to work with the columns, the same way like with the DataGrid control.
In November 2005, Microsoft officially released the new Visual Studio 2005 also known as .NET 2.0. RustemSoft is presenting a software package for customizing your .NET 2.0 Windows Forms DataGridView Columns.
DataGridViewColumns .NET 2.0 assembly from RustemSoft is a DataGridView Columns software package specifically designed for .NET 2.0 developers. The assembly allows you to use all strengths of the MS Windows .NET 2.0 forms DataGridView control without waiving the user interface elements your customers need. Learn more about DataGridViewColumns .NET assembly: http://www.smrtx.com/RS/datagridview_columns.htm
DataGridViewColumns dynamic link library contains the following DataGridView Columns: Combo (extended combobox), Memo column, DateTimePicker column. Also the assembly includes the formatting intelligent DateTimeColumn, NumericColumn, TextFractionsColumn, MaskedTextBox column controls that can mask the date, time, numbers as well as the text fractions. It gives you ability to manage the IP Address, SS#, Phone numbers, etc., and checks the validation, and automatically set the delimiter location. These Column classes are chock full of functionality that you will not find in the standard Microsoft .NET 2.x DataGridView Columns, that make it easy to build professional and forcing user interfaces.



VB .NET
With DataGridView1

' Set DataGridView Combo Column for CarID field

Dim ColumnCar As New DataGridViewComboColumn

' DataGridView Combo ValueMember field has name "CarID"

' DataGridView Combo DisplayMember field has name "Car"

With ColumnCar

.DataPropertyName = "CarID"

.HeaderText = "Car Name"

.Width = 80

' Bind ColumnCar to Cars table

.box.DataSource = ds.Tables("Cars")

.box.ValueMember = "CarID"

.box.DisplayMember = "Car"

End With

.Columns.Add(ColumnCar)

End With



C#
// Set DataGridView Combo Column for CarID field

DataGridViewComboColumn ColumnCar = new DataGridViewComboColumn();

// DataGridView Combo ValueMember field name is "CarID"

// DataGridView Combo DisplayMember field name is "Car"

ColumnCar.DataPropertyName = "CarID";

ColumnCar.HeaderText = "Car Name";

ColumnCar.Width = 80;

// Bind ColumnCar to Cars table

ColumnCar.box.DataSource = ds.Tables["Cars"];

ColumnCar.box.ValueMember = "CarID";

ColumnCar.box.DisplayMember = "Car";

// Add ColumnCar onto DataGridView layout

DataGridView1.Columns.Add(ColumnCar);



The code above presents DataGridViewCombo Column usage



Extended DataGridView columns
The DataGridView control properties can be customized and the control object can be linked with or without an assigned DataSource object. The .NET 2.0 Framework includes six types of DataGridView column classes by default: DataGridViewButtonColumn, DataGridViewCheckBoxColumn, DataGridViewComboboxColumn, DataGridViewImageColumn, DataGridViewTextBoxColumn, and DataGridViewLinkColumn classes. RustemSoft DataGridViewColumns dynamic link library contains the following DataGridView Columns:


DataGridView Combo Column (extended combobox)

DataGridView Memo Column

DataGridView DateTimePicker Column

DataGridView DateTime Column

DataGridView Numeric Column

DataGridView Text Fractions Column

DataGridView Label Column

DataGridView DomainUpDown Column

DataGridView NumericUpDown Column

DataGridView Picture Column

DataGridView MaskedTextBox Column

DataGridView Print Class



The DataGridViewPrint service class is intended to help you to create a print output based on your DataGridView content. The class has been included into the assembly since it is build for .NET 2.0 WinForms DataGridView control and very helpful for your .NET 2.0 DataGridView design. It will help you to implement an application with a print preview and a print support.
The DataGridViewPrint class is used by the Print dialog and DataGridViewPrintPreview dialog (on your .NET 2.0 form) to draw the DataGridView object content that should be printed. An object of the class is used for a .NET 2.0 PrintDocument object.

Also the special DataGridViewPrintPreview class has been designed and added to the assembly. The class gives the ability to print DataGridView content by clicking 'Print' button located on the dialog window. Also 'Save to file' button is added onto Preview dialog layout. It allows you to save the print document into a bitmap image file. Learn more about DataGridViewPrint service class: http://rustemsoft.com/datagridview_columns2.htm#E

Related Tags: net, control, class, component, columns, assembly, column, datagridview, datagrid, combobox, columnstyle, winforms, visual studio, data bound, databo

Your Article Search Directory : Find in Articles

© The article above is copyrighted by it's author. You're allowed to distribute this work according to the Creative Commons Attribution-NoDerivs license.
 

Recent articles in this category:



Most viewed articles in this category: