Home

DataGrid Binding

 

Introduction

The DataGrid control is probably the easiest object made to connect to data. It is designed like a spreadsheet made of columns, rows, and cells. This makes it possible to display all values of relatively small table or to display as many records as its dimensions can allow. To make this possible, the DataGrid control is equipped with the DataSource property that allows you to specify the data set object that holds the records the control will display. The data set object can be of type DataTable, DataView, DataSet, DataViewManager, a class derived from the IListSource or the IList interfaces.

Besides the DataGrid::DataSource property, the control is also equipped with a DataMember property that allows you to specify the name of the object, such as a table.

Imagine you have a SQL Server database named Video Collection and that is equipped with a table named Videos created with the following columns:

Imagine you had created a few records as follows:

You can bind this table to a DataGrid as follows:

private: System::Void btnLoad_Click(System::Object *  sender, System::EventArgs *  e)
{
 	SqlConnection *cnnVideos = new SqlConnection(
		S"Data Source=(local);Database='VideoCollection';Integrated Security=yes");

	String *strVideos = S"SELECT VideoID, VideoTitle, Director, YearReleased, "
		                S"VideoLength, Rating FROM Videos;";
	SqlCommand    *cmdVideos = new SqlCommand(strVideos, cnnVideos);

	 cnnVideos->Open();
	SqlDataAdapter *dadVideoCollection = new SqlDataAdapter(cmdVideos);

	 DataSet *setVideos = new DataSet(S"VideoCollection");
	 dadVideoCollection->Fill(setVideos);
	 this->dataGrid1->DataSource = setVideos;
	 this->dataGrid1->DataMember = setVideos->Tables->Item[0]->TableName;

	 cnnVideos->Close();
}

private: System::Void btnClose_Click(System::Object *  sender, System::EventArgs *  e)
{
	 Close();
}
 

Home Copyright © 2005-2010 FunctionX, Inc.