質問: この Telerik ツリービュー コントロールを、
メニュー表示名: Locations の Telerik メニュー項目でレンダリングする必要があります。
メニュー名が「場所」のテレリック メニュー項目にTelerik ツリー ビュー コントロール (以下の正確なコード) を配置する方法を教えてください。
例: 説明のために、'Locations' は、
理解できるように破線で囲まれたメニュー項目です。TreeView コントロールは、Locations をクリックしたときにメニュー項目 (リスト) に表示されるコントロールです。
場所
TreeView Control
メニュー項目の [場所] をクリックすると、ツリービュー コントロールが表示されます。
これはテレリック コントロールのコードです。
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();
テレリック メニューのコード。
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」(テキスト項目) がない場合、ツリービュー コントロールはメニュー項目リストに表示されません。