CurrencyManager.List 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获得此 CurrencyManager 的列表。
public:
property System::Collections::IList ^ List { System::Collections::IList ^ get(); };
public System.Collections.IList List { get; }
member this.List : System.Collections.IList
Public ReadOnly Property List As IList
属性值
包含列表的 IList。
示例
下面的代码示例允许用户编辑一组记录,但不允许添加任何新记录。 在 Navigate 控件的情况下 DataGrid , IList 由 属性返回的 List 将强制转换为 DataView 变量。
DataView 的 AllowNew 属性设置为 false
。
private:
void Grid_Navigate( Object^ /*sender*/, NavigateEventArgs^ e )
{
if ( e->Forward )
{
DataSet^ ds = dynamic_cast<DataSet^>(grid->DataSource);
CurrencyManager^ cm = dynamic_cast<CurrencyManager^>(BindingContext[ds, "Customers::CustOrders"]);
// Cast the IList* to a DataView to set the AllowNew property.
DataView^ dv = dynamic_cast<DataView^>(cm->List);
dv->AllowNew = false;
}
}
private void Grid_Navigate(object sender, NavigateEventArgs e){
if (e.Forward ){
DataSet ds = (DataSet) grid.DataSource;
CurrencyManager cm =
(CurrencyManager)BindingContext[ds,"Customers.CustOrders"];
// Cast the IList to a DataView to set the AllowNew property.
DataView dv = (DataView) cm.List;
dv.AllowNew = false;
}
}
Private Sub Grid_Navigate(sender As Object, e As NavigateEventArgs)
If e.Forward Then
Dim ds As DataSet = CType(grid.DataSource, DataSet)
Dim cm As CurrencyManager = _
CType(BindingContext(ds,"Customers.CustOrders"), CurrencyManager)
' Cast the IList to a DataView to set the AllowNew property.
Dim dv As DataView = CType(cm.List, DataView)
dv.AllowNew = false
End If
End Sub
注解
属性返回 List 的对象可以强制转换为实现 接口的任何 IList 类型。 当你知道基础列表的类型时,通常会使用此方法。 例如,如果数据绑定到 DataSet,则基础列表是实现 DataViewIList) 的 (。 实现 接口的其他类 (这不是完整列表) 包括 Array、 ArrayList和 CollectionBase。
如何使用 List 属性取决于实现 接口的 IList 类。 例如,可以使用 List 属性来确定列表的名称。 如果数据源实现 ITypedList 接口,则可以使用 GetListName 方法返回当前表的名称。 下面的 C# 代码中显示了这一点:
private void PrintCurrentListName(DataGrid myDataGrid){
CurrencyManager myCM = (CurrencyManager)
BindingContext[myDataGrid.DataSource, myDataGrid.DataMember];
IList myList = myCM.List;
ITypedList thisList = (ITypedList) myList;
Console.WriteLine(thisList.GetListName(null));
}