BindingSource.List Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает список, к которому привязан соединитель.
public:
property System::Collections::IList ^ List { System::Collections::IList ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Collections.IList List { get; }
[<System.ComponentModel.Browsable(false)>]
member this.List : System.Collections.IList
Public ReadOnly Property List As IList
Значение свойства
Объект IList, который представляет список, или значение null
, если с этим объектом BindingSource не связан базовый список.
- Атрибуты
Примеры
В следующем примере кода показаны члены List, RemoveAtи Count . Чтобы запустить этот пример, вставьте код в форму с BindingSource именем BindingSource1
, две метки с именем label1
и label2
и кнопку с именем button1
. Свяжите button1_Click
метод с событием Click для button1
. Пользователям Visual Basic потребуется добавить ссылку на System.Data.dll.
private void button1_Click(object sender, EventArgs e)
{
// Create the connection string, data adapter and data table.
SqlConnection connectionString =
new SqlConnection("Initial Catalog=Northwind;" +
"Data Source=localhost;Integrated Security=SSPI;");
SqlDataAdapter customersTableAdapter =
new SqlDataAdapter("Select * from Customers", connectionString);
DataTable customerTable = new DataTable();
// Fill the adapter with the contents of the customer table.
customersTableAdapter.Fill(customerTable);
// Set data source for BindingSource1.
BindingSource1.DataSource = customerTable;
// Set the label text to the number of items in the collection before
// an item is removed.
label1.Text = "Starting count: " + BindingSource1.Count.ToString();
// Access the List property and remove an item.
BindingSource1.List.RemoveAt(4);
// Remove an item directly from the BindingSource.
// This is equivalent to the previous line of code.
BindingSource1.RemoveAt(4);
// Show the new count.
label2.Text = "Count after removal: " + BindingSource1.Count.ToString();
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles button1.Click
' Create the connection string, data adapter and data table.
Dim connectionString As New SqlConnection("Initial Catalog=Northwind;" & _
"Data Source=localhost;Integrated Security=SSPI;")
Dim customersTableAdapter As New SqlDataAdapter("Select * from Customers", _
connectionString)
Dim customerTable As New DataTable()
' Fill the adapter with the contents of the customer table.
customersTableAdapter.Fill(customerTable)
' Set data source for BindingSource1.
BindingSource1.DataSource = customerTable
' Set the label text to the number of items in the collection before
' an item is removed.
label1.Text = "Starting count: " + BindingSource1.Count.ToString()
' Access the List property and remove an item.
BindingSource1.List.RemoveAt(4)
' Remove an item directly from the BindingSource.
' This is equivalent to the previous line of code.
BindingSource1.RemoveAt(4)
' Show the new count.
label2.Text = "Count after removal: " + BindingSource1.Count.ToString()
End Sub
End Class
Комментарии
Класс BindingSource равномерно обрабатывает различные источники данных. В идеале свойству List следует присвоить общее IListзначение . Однако иногда может потребоваться привести это свойство к более конкретному типу. В следующей таблице показан базовый тип списка, который зависит от типа или значения источника данных.
Тип источника данных | Описание базового списка |
---|---|
DataSource и DataMember являются null |
Пустая коллекция типа ArrayList. |
DataSource имеет значение null , но DataMember не является null |
Ни один; попытка получить List вызовет ArgumentExceptionисключение . |
Экземпляр Array | Объект Array. |
Экземпляр IListSource | Возвращаемое значение из вызова GetList метода данного IListSource экземпляра. |
Экземпляр IBindingList | Объект IBindingList. |
Экземпляр IList | Объект IList. |
Экземпляр, отличныйIList от типа "T" | Объект BindingList<T> с одним элементом. |
Экземпляр ICustomTypeDescriptor | Объект ArrayList с одним элементом. |
Объект IEnumerable | Объект ArrayList с скопированными элементами. |
Тип Array с DataMember типом элемента "T" | Объект BindingList<T>. |
Объект Type , представляющий IListSource или ITypedList | Экземпляр, созданный вызовом CreateInstance(Type) метода Activator класса . Может NotSupportedException быть вызвано исключение . |
Тип IList с DataMember типом элемента "T" -или- Тип, отличный отIList |
Объект BindingList<T>. |
Тип ICustomTypeDescriptor. | Ни один; попытка получить List вызовет NotSupportedExceptionисключение . |
Если извлеченным типом IList является интерфейс, базовая коллекция может быть более сложной ArrayList , например класс или DataView .