Элемент управления DataGrid

Элемент управления DataGrid

Элемент управления DataGrid позволяет отображать данные в виде таблицы, как это сделано в электронной таблице MS Excel. Как и многие другие элементы управления, он имеет обрезанные возможности по сравнению с полной версией .NET Framework. Например, отключена поддержка свойства DataMember.

Элемент управления DataGrid может быть связан с источниками данных при помощи свойства DataSource. Рассмотрим простейший пример работы с данным элементом. Прежде всего, потребуется создать XML-файл, содержащий некоторые данные. Для примера был использован файл artists.xml, в котором содержится информация о некоторых известных артистов шоу-бизнеса. Файл содержит записи о фамилии, дате рождения и адресе проживания. Созданный файл нужно добавить в проект, расположить на форме элемент DataGrid и присвоить ему имя grdArtists. В листинге 3.25 приведен код обработчика события Form1_Load.

Листинг 3.25

private void Form1_Load(object sender, EventArgs e) {

 Cursor.Current = Cursors.WaitCursor;

 try {

  // Загружаем данные DataSet

  DataSet ds = new DataSet();

  ds.ReadXml(@"Program FilesDataGrid_CSartists.xml");

  grdArtists.DataSource = ds.Tables[0];

 } catch (Exception) {

  MessageBox.Show("Не могу загрузить данные в DataGrid!", this.Text);

 }

 // Устанавливаем стили

 DataGridTableStyle ts = new DataGridTableStyle();

 ts.MappingName = "Order";

 DataGridColumnStyle artistDate = new DataGridTextBoxColumn();

 artistDate.MappingName = "BirthDate";

 artistDate.HeaderText = "Дата рождения";

 ts.GridColumnStyles.Add(artistDate);

 DataGridColumnStyle artistName = new DataGridTextBoxColumn();

 artistName.MappingName = "ArtistName";

 artistName.HeaderText = "Артист";

 artistName.Width = this.Width - artistDate.Width - 35;

 ts.GridColumnStyles.Add(artistName);

 grdArtists.TableStyles.Add(ts);

 Cursor.Current = Cursors.Default;

}

В данном примере из XML-файла извлекаются данные, относящиеся к фамилии артиста и дате его рождения. Остальная информация игнорируется. При загрузке приложения в элемент DataGrid записываются требуемые данные. На рис. 3.16 показан внешний вид приложения.

Рис. 3.16. Пример работы с элементом DataGrid

Также стоит прочитать статью «Using the DataGrid Control in Pocket PC Applications», которую можно найти в справочной системе MSDN. В этой статье иллюстрируются различные приемы программирования, которые помогут расширить возможности данного элемента.