ListObject.SetDataBinding - метод (Object, String, array<String[])
Привязывает элемент управления ListObject к заданному элементу данных источника данных, и показывает только заданные столбцы этого элемента данных.
Пространство имен: Microsoft.Office.Tools.Excel
Сборка: Microsoft.Office.Tools.Excel (в Microsoft.Office.Tools.Excel.dll)
Синтаксис
'Декларация
Sub SetDataBinding ( _
dataSource As Object, _
dataMember As String, _
ParamArray mappedColumns As String() _
)
void SetDataBinding(
Object dataSource,
string dataMember,
params string[] mappedColumns
)
Параметры
- dataSource
Тип: System.Object
Объект, который требуется использовать в качестве источника данных для элемента управления ListObject.
- dataMember
Тип: System.String
Элемент DataMember, задающий свойство для привязки в объекте, возвращаемом объектом DataSource.
- mappedColumns
Тип: array<System.String[]
Имена столбцов в элементе данных, которые необходимо отобразить в элементе управления ListObject.Чтобы добавить не сопоставленный столбец, включите в массив пустую строку.
Исключения
Исключение | Условие |
---|---|
SetDataBindingFailedException | Не удалось выполнить привязку к указанному источнику данных. |
ArgumentException | Один или несколько аргументов являются недопустимыми. |
ArgumentNullException | Аргумент dataSource равен пустой ссылке (nullпустая ссылка (Nothing в Visual Basic)). |
Заметки
Параметром dataSource может быть любой объект, реализующий IList, IListSource, IBindingList или IEnumerable.
Параметром dataMember должно быть свойство источника данных, который возвращает коллекцию, которая может быть связана. Например, источник DataSet имеет таблицы как элементы данных.
Примеры
В следующем примере кода создаются DataSet, DataTable и ListObject. Затем выполняется привязка объекта ListObject к DataSet и к DataTable, но включается только один из двух возможных столбцов таблицы в ListObject.
В этом примере демонстрируется настройка уровня документа.
Private Sub ListObject_SetDataBinding3()
Dim Ages As Integer() = {32, 44, 28, 61}
Dim Names As String() = {"Reggie", "Sally", _
"Henry", "Christine"}
' Create a data table with two columns.
Dim ds As New DataSet()
Dim table As DataTable = ds.Tables.Add("Customers")
Dim column1 As New DataColumn("Names", GetType(String))
Dim column2 As New DataColumn("Ages", GetType(Integer))
table.Columns.Add(column1)
table.Columns.Add(column2)
' Add the four rows of data to the table.
Dim row As DataRow
Dim i As Integer
For i = 0 To 3
row = table.NewRow()
row("Names") = Names(i)
row("Ages") = Ages(i)
table.Rows.Add(row)
Next i
' Create the list object.
Dim List1 As Microsoft.Office.Tools.Excel.ListObject = _
Me.Controls.AddListObject(Me.Range("A1", "B4"), "List1")
' Bind the list object to the table.
Dim mappedColumn As String() = {"Names"}
List1.SetDataBinding(ds, "Customers", mappedColumn)
End Sub
private void ListObject_SetDataBinding3()
{
int[] Ages = { 32, 44, 28, 61 };
string[] Names = { "Reggie", "Sally", "Henry", "Christine" };
// Create a data table with two columns.
DataSet ds = new DataSet();
DataTable table = ds.Tables.Add("Customers");
DataColumn column1 = new DataColumn("Names", typeof(string));
DataColumn column2 = new DataColumn("Ages", typeof(int));
table.Columns.Add(column1);
table.Columns.Add(column2);
// Add the four rows of data to the table.
DataRow row;
for (int i = 0; i < 4; i++)
{
row = table.NewRow();
row["Names"] = Names[i];
row["Ages"] = Ages[i];
table.Rows.Add(row);
}
Microsoft.Office.Tools.Excel.ListObject list1 =
this.Controls.AddListObject(this.Range["A1", "B4"], "list1");
// Bind the list object to the table.
string[] mappedColumn = { "Names" };
list1.SetDataBinding(ds, "Customers", mappedColumn);
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.