数据绑定基础
本文解释了向PanelBar组件提供数据的不同方法、与数据绑定相关的属性及其结果。
有关值绑定和数据绑定的详细信息以及它们之间的区别,请参见值绑定vs数据绑定篇文章。
首先,回顾:
- 可用(可绑定的)PanelBar项的特征.
- 如何匹配模型中的字段与PanelBar项数据绑定.
有两种向PanelBar提供数据的模式,它们都使用项目的特性。熟悉了本文之后,选择您希望使用的数据绑定模式:
面板栏项目功能
PanelBar项提供了以下特性,您可以通过其数据绑定中的相应字段来控制这些特性:
Id
-字符串
-项目的唯一标识符。需要绑定到平面数据。ParentId
-字符串
-标识项目所属的父级。仅在绑定到平面数据时需要。所有的物品都是一样的ParentId
将在同一层渲染。对于根级项,这必须为零
.HasChildren
-字符串
-该项目是否有子项目。确定是否在项目旁边呈现展开箭头。需要绑定到平面数据。使用分层数据,PanelBar将基于子项的存在呈现图标,但是HasChildren
会优先。项目
-字符串
-将在当前项目下呈现的子项目集合。仅在绑定到分级数据时需要。文本
-字符串
-将显示在项目上的文本。DisabledField
-字符串
—该项是否被禁用。如果一个项目被禁用,用户将无法点击它,也无法展开它。的OnItemClick
如果项目被禁用,将不会被触发。ImageUrl
/图标
/IconClass
-栅格图像的URLTelerik图标,或者一个类,用于将在项目中呈现的自定义字体图标。它们有列出的优先顺序,以防数据中有多个(即一个)ImageUrl
是最重要的)。Url
-项目将通过生成链接导航到的视图。
数据绑定
面板栏项的属性直接与组件绑定到的模型的字段匹配。您可以通过提供包含相应信息的字段的名称来提供这种关系。要做到这一点,下PanelBarBindings
标记,使用PanelBarBinding
标签属性。
每一个PanelBarBinding
标签暴露以下引用项目属性的属性:
IdField => Id
ParentIdField => ParentId
TextField =>文本
DisabledField =>禁用
IconClassField => IconClass
IconField =>图标
ImageUrlField => ImageUrl
UrlField => Url
HasChildrenField => HasChildren
ItemsField =>项目
级别—用于定义不同的级别有不同的绑定.如果没有设置级别,则将绑定作为没有显式设置的任何级别的默认值。你应该有一个
TelerikPanelBarBinding
没有关卡。
字段名有默认值。如果您的模型名称与默认值匹配,则不必在绑定设置中定义它们。
如果您的模型字段名称与任何默认名称匹配,组件将尝试使用它们。例如,一个名为图标
会尝试从这些值中生成一个Telerik图标,这可能不是你想要的。如果您想要覆盖这些行为,您可以设置IconField = " someNonExistingField "
.你可以阅读更多相关内容在这里.这也适用于其他领域。另一个例子是一个名为Url
如果你想自己通过模板进行导航,你可能想设置UrlField = " someFakeField "
这样组件就不会自己导航了。
如果您正在使用分层数据绑定,您的模型不能包含名为
ParentId
类的名称匹配的字段ParentIdField
a参数PanelBarBinding
).这将使PanelBar混淆,认为它是绑定到平面数据,因此可能没有根,您可能看不到数据。
公共类PanelBarItem{公共int Id {get;设置;}公共字符串文本{get;设置;} public int?ParentId {get;设置;} public bool禁用{get;设置;}公共bool HasChildren {get; set; } public string Icon { get; set; } public string Url { get; set; } }
以下例子演示如何定义简单绑定以将项字段与模型匹配,以便树呈现所提供的平面数据源。
样本PanelBar绑定到自引用平面数据。还使用了Telerik套件的内置图标。面板栏中的项目项重定向到示例url。*@ < span style="width: 30%;">