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 引數為 nullNull 參照 (即 Visual Basic 中的 Nothing)。 |
備註
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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。