0

问题:我需要在具有
菜单显示名称的 Telerik 菜单项中呈现此 Telerik 树视图控件:位置。你能告诉我如何在 Telerik
菜单项中放置 Telerik 树视图控件(下面的确切代码),菜单名称为:'Locations'


示例:出于说明目的,“位置”是用虚线包围的菜单项,以便您理解。TreeView 控件是当我单击位置时将显示在菜单项(列表)中的控件。


地点


 TreeView Control

当我单击菜单项位置时,树视图控件会显示。

这是 Telerik 控件的代码

Telerik Treeview 的代码:

     Html.Telerik().TreeView()
                               .Name("TreeView1")
                               .ShowCheckBox(true)
                               .BindTo(Model.SessionProvider.GetAvailableLocations, mappings =>
                            {
                                mappings.For<RegionEntity>(binding => binding
                                    .ItemDataBound((item, region) =>
                                                       {
                                                           item.Text = region.RecordName;
                                                           item.Value = region.ID.ToString();
                                                           //if (checkedNodes != null)
                                                           //{
                                                           //    var checkedNode = checkedNodes.Where(e => e.Value.Equals(employee.EmployeeID.ToString())).FirstOrDefault();
                                                           //    item.Checked = checkedNode != null ? checkedNode.Checked : false;
                                                           //} item.Expanded = true;
                                                       }).Children(location => location.Location));
                                mappings.For<LocationEntity>(binding => binding
                                                                            .ItemDataBound((item, location) =>
                                                                                               {
                                                                                                   item.Text = location.Name;
                                                                                                   item.Value =
                                                                                                       location.Number.ToString();
                                                                                               }));
                            }).Render();  

Telerik 菜单的代码。

        Html.Telerik().Menu()
                                .OpenOnClick(false)
                                .Name("Locations")
                                .Items(parentItems=>
                                           {
                                               parentItems.Add().Content();

                                           }
                                           )
                                .HtmlAttributes(new { @class = "tab", style = "zIndex:9999;padding-right:3px;" })

                                .Render();   

几分钟前我尝试执行以下操作,只要列表中有另一个文本项,树视图控件就会呈现,但它向右对齐:

<% Html.Telerik().Menu()
             .OpenOnClick(false)
           .Name("locations").HtmlAttributes(new { style = "background-color:transparent;min-height:150px" })
            .HtmlAttributes(new { @class = "tab", style = "zIndex:9999;padding-right:3px;" })
           .Items(items => 
           {
            items.Add()
                 .Text("Locations")
                 .Content(() => 
                 { 
                 %>
                <% Html.Telerik().TreeView()
                       .Name("TreeView1")
                       .ShowCheckBox(true)
                       .BindTo(Model.SessionProvider.GetAvailableLocations, mappings =>
                    {
                        mappings.For<RegionEntity>(binding => binding
                            .ItemDataBound((item, region) =>
                                               {
                                                   item.Text = region.RecordName;
                                                   item.Value = region.ID.ToString();
                                                   //if (checkedNodes != null)
                                                   //{
                                                   //    var checkedNode = checkedNodes.Where(e => e.Value.Equals(employee.EmployeeID.ToString())).FirstOrDefault();
                                                   //    item.Checked = checkedNode != null ? checkedNode.Checked : false;
                                                   //} item.Expanded = true;
                                               }).Children(location => location.Location));
                        mappings.For<LocationEntity>(binding => binding
                                                                    .ItemDataBound((item, location) =>
                                                                                       {
                                                                                           item.Text = location.Name;
                                                                                           item.Value =
                                                                                               location.Number.ToString();
                                                                                       }));
                    }).Render();%>   
                 <% 
                 });
       })
       .Render();

但如果没有“hello”(文本项),则树视图控件不会显示在菜单项列表中。

4

1 回答 1

0

不确定这是否适用于菜单,但是当我实现嵌套网格时,我使用了一个文本块,其中包含我在 DetailView 属性中需要的其他控件。

也许您可以以相同的方式使用菜单项对象的 Text 或 Content 属性。

    Html.Telerik().Grid(model)
    .Name("grid")
    .ClientEvents(events => events.OnRowSelect("grid_onRowSelect"))
    .DataKeys(d => d.Add(a => a.ID).RouteKey(("Id")))
    .Columns(columns =>
            {
                columns.Bound(s => s.Name);
                columns.Bound(s => s.Type);
                columns.Bound(s => s.ID);
            })
    .DetailView(detailView => detailView.Template(
        @<text>
             @(Html.Telerik().Grid(item.T)
                .Name("T_" + item.ID )
                .Columns(columns =>
                {
                    columns.Bound(t => t.TemplateName)
                        .Template(t => Html.ActionLink(t.Name, "Index","Editor", new {id = t.ID},null));
                    columns.Bound(t => t.ID);
                })

             ) 
         </text>
        ))
    .Selectable()
    .Render();
于 2012-09-20T19:12:14.753 回答