Telerik UI for ASP。净AJAX?下载30天免费试用

自定义属性

RadTab对象提供了一个特殊的集合属性.您可以使用这个集合来扩展选项卡存储的信息。的属性集合允许您以名称/值对的形式存储任意数量的属性。属性中以声明方式指定自定义属性RadTab标记或以编程方式使用属性收集RadTab.属性,还可以在客户端访问自定义属性get_attributes收集RadTab客户端对象。

以声明方式设置属性

在ASP。NET声明RadTabStrip对象,您可以通过简单地将Name="value"添加到标签中来添加自定义属性RadTab声明。例如RadTabStripdefinition将两个自定义属性“state”和“labelName”添加到其选项卡中:

       

在服务器端代码中使用属性

方法从后面的代码中访问自定义属性属性方法公开的。RadTab类。

protected voidRadTabStrip1_TabClick1(对象发送者,Telerik.Web.UI.RadTabStripEventArgs e) {if (e. tab。属性["state"] == "visited") { Label label = e.Tab.PageView.FindControl(e.Tab.Attributes["labelName"]) as Label; label.Text = "Welcome Back"; } else e.Tab.Attributes["state"] = "visited"; }
受保护子RadTabStrip1_TabClick1(ByVal sender As Object, _ByVal e astelerick . web . ui . radtabstripeventargs) _Handles RadTabStrip1.TabClick()如果e.t t . attributes ("state") = "visited"那么Dim label As label = TryCast(e.t t . pageview . findcontrol (e.t t . attributes ("labelName")), label)标签。Text = "Welcome Back" Else . e.Tab.Attributes("state") = "visited"结束如果结束子

在客户端代码中使用属性

方法返回的属性集合可从客户端代码使用自定义属性get_attributes客户端方法RadTab对象。属性集合有一个getAttribute方法,该方法可让您获取属性值setAttribute方法,让您设置它们:

函数VisitTab(sender, args) {var tab = args.get_tab();Var属性= tab.get_attributes();if (attributes.getAttribute("state") == "unvisited") {sender.trackChanges();属性。setAttribute(“国家”、“访问”);选项卡。Set_text ("*" + tab.get_text());sender.commitChanges ();}}

自定义属性的数据绑定

当绑定RadTabStrip对于数据,自定义属性可在TabDataBound事件。下面的代码将制表符条绑定到数据表当页面加载时。的数据表包含一个角色”不映射到制表符属性的列:

protected void Page_Load(对象sender, EventArgs e) {if (!Page.IsPostBack){//动态地创建一个表来填充标签带DataTable table1 = new DataTable();table1.Columns.Add (" ID ");table1.Columns.Add(“ParentID”);table1.Columns.Add(“角色”);//用于自定义属性table1.Columns.Add("Text");table1.Rows。添加(新string [] {" 1 ", null,“A”,“政治”});table1.Rows。Add(new string[] {"2", null, "B", "Sports"});table1.Rows。Add(new string[] { "3", null, "C", "Events" }); table1.Rows.Add(new string[] { "4", "1", "D", "CNN" }); table1.Rows.Add(new string[] { "5", "1", "E", "NBC" }); table1.Rows.Add(new string[] { "6", "1", "F", "ABC" }); table1.Rows.Add(new string[] { "7", "2", "G", "US Sports" }); table1.Rows.Add(new string[] { "8", "2", "B", "European Sports" }); table1.Rows.Add(new string[] { "9", "7", "D", "Baseball" }); table1.Rows.Add(new string[] { "10", "7", "C", "Football" }); table1.Rows.Add(new string[] { "11", "7", "B", "Basketball" }); table1.Rows.Add(new string[] { "12", "8", "D", "Soccer" }); table1.Rows.Add(new string[] { "14", "3", "E", "Oscar Awards" }); table1.Rows.Add(new string[] { "15", "3", "B", "MTV Movie Awards" }); RadTabStrip1.DataSource = table1; RadTabStrip1.DataFieldID = "ID"; RadTabStrip1.DataFieldParentID = "ParentID"; RadTabStrip1.DataTextField = "Text"; RadTabStrip1.DataBind(); } }
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)处理我。加载如果没有页面。然后动态地创建一个表来填充菜单Dim table1 As New DataTable() table1. columns . add ("ID") table1. columns . add ("ParentID") table1. columns . add (" role ")'的列为自定义属性()table1.Columns.Add("Text") table1.Rows。添加(New String() {"1", Nothing, "A", "Politics"}) table1.Rows。添加(New String() {"2", Nothing, "B", "Sports"}) table1.Rows。添加(New String() {"3", Nothing, "C", "Events"}) table1.Rows。添加(新的字符串(){“4”、“1”、“D”,“CNN”})table1.Rows。添加(新的字符串(){“5”、“1”、“E”,“NBC”})table1.Rows。添加(新的字符串(){“6”、“1”、“F”,“ABC”})table1.Rows。添加(新的字符串(){“7”、“2”、“G”,“美国体育table1.Rows(})”)。添加(新的字符串(){“8”、“2”、“B”,“欧洲体育table1.Rows(})”)。添加(新的字符串(){“9”、“7”、“D”,“棒球”})table1.Rows。添加(新的字符串(){“10”、“7”、“C”,“足球”})table1.Rows。添加(新的字符串(){“十一”、“7”、“B”、“篮球”})table1.Rows。添加(新的字符串(){“12”,“8”,“D”,“足球”})table1.Rows。添加(新的字符串(){“14”、“3”、“E”,“奥斯卡金像奖table1.Rows(})”)。Add(New String() {"15", "3", "B", "MTV电影奖("})")RadTabStrip1. Add(New String() {"15", "3", "B", "MTV电影奖("})")DataSource = table1 RadTabStrip1。DataFieldID = "ID" RadTabStrip1。DataFieldParentID = "ParentID" RadTabStrip1。DataTextField = "Text" RadTabStrip1.DataBind() End If End Sub

“角色”属性中的自定义属性TabDataBound事件处理程序。事件处理程序还设置工具提示属性的自定义属性值,以允许测试自定义属性:

protected void RadTabStrip1_TabDataBound(对象发送者,Telerik.Web.UI.RadTabStripEventArgs e) {DataRowView dataRow = (DataRowView) e.t at . dataitem;e.Tab。属性["角色"]= dataRow["角色"].ToString();e.Tab.ToolTip = e.Tab.Attributes["角色"];}
受保护子RadTabStrip1_TabDataBound(ByVal sender As Object, _ByVal e As telerick . web . ui . radtabstripeventargs)TabDataBound Dim dataRow As DataRowView = DirectCast(e.Tab。datitem, DataRowView) . tab . attributes(“角色”)= dataRow(“角色”).ToString() . tab . tooltip = e.Tab.Attributes(“角色”)结束子

另请参阅

在本文中
Baidu
map