Страница 4

Все о DataGridView. Учебник

Главная
Страница 1
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Страница 7
Страница 8
Страница 9
Страница 10
Страница 11
Страница 12
Страница 13
Страница 14
Страница 15
Страница 16
Страница 17
Страница 18
Страница 19
Страница 20
Страница 21
Страница 22
Страница 23
Страница 24
Страница 25
Страница 26






Скачать учебник
Предыдущая страница
Следующая страница
= new PersonCollection();
    //_grid - обычный, без настроек, DataGridView
    _grid.DataSource = _biSour; 
  }
}
 
public class PersonCollection : System.Collections.IEnumerable
{
  public System.Collections.IEnumerator GetEnumerator()
  {
    for(uint i = 0; i <= 5; i++)
    {
      yield return new Person("Name_" + i.ToString(), 20 + i, 'M');
    }
  }
}
 
public class Person
{
  private string _name;
  private uint _age;
  private char _gender;
....// свойства, инкапсулирующие эти три поля
  public Person(string name, uint age, char gender) { ... }
}

Отображает grid с шестью записями. Заманчиво? :)

А каков общий подход при привязке любого WinForms-control-а к BindingSource? В общем случае – довольно несложный. Допустим, у нас есть DataSet NorthwindDataSet с единственной таблицей Products. Тогда первым шагом будет привязка BindingSource к этому источнику данных:

// _biSour - объект типа BindingSource
_biSour.DataSource = this.NorthwindDataSet;
// сразу привязываемся к конкретной таблице
_biSour.DataMember = "Products"; 

Теперь BindingSource сам становится полноценным источником данных. Единственное, что отличает его от "нормального" источника вроде того же DataTable, – отсутствие "собственных" данных, т.к. данные BindingSource – это данные нижележащего источника данных. Таким образом, при необходимости привязки свойства Text к колонке ProductName таблицы Products мы можем смело писать:

this.label1.DataBindings.Add(
Предыдущая страница
Следующая страница
Хостинг от uCoz