我是 Telerik 的新手。我想過濾 Telerik:red tree 資料,但無法在收件箱上觸發。我的代碼是-
<telerik:RadPane ID="LeftPanelAssigned" runat="server" Width="20%" CssClass="management" OnClientBeforeResize="LeftPanelAssigned_OnClientBeforeResize">
<asp:Label ID="RadTextBox2" Text="Assigned" runat="server" />
<asp:Label ID="txtAssinedcount" ReadOnly="true" runat="server" />
<asp:TextBox ID="txtSearch" runat="server" onkeyup="SearchEmployees(this, '#TreeAssignedWorkflow');" placeholder="Search employee">
</asp:TextBox>
<telerik:RadTreeView ID="TreeAssignedWorkflow" runat="server" CssClass="tree" OnNodeClick="TreeAssignedWorkflow_NodeClick"
OnClientMouseOver="TreeAssignedWorkflowOnClientMouseOver" OnClientMouseOut="TreeAssignedWorkflowOnClientMouseOut"
OnClientContextMenuItemClicked="WFTreeContextMenuClick">
<ContextMenus>
<telerik:RadTreeViewContextMenu ID="RadTreeViewContextMenu1" runat="server">
<Items>
<telerik:RadMenuItem Text="Reference Search">
</telerik:RadMenuItem>
<telerik:RadMenuItem Text="Sort By Date">
</telerik:RadMenuItem>
<telerik:RadMenuItem Text="Sort By Type">
</telerik:RadMenuItem>
</Items>
<CollapseAnimation Type="none" />
</telerik:RadTreeViewContextMenu>
</ContextMenus>
</telerik:RadTreeView>
</telerik:RadPane>
請幫忙。

uj5u.com熱心網友回復:
我最終重寫了大部分代碼,如果有人感興趣,我會把它貼在這里。我的最終結果看起來像這樣并且效果很好。
這會過濾按鍵并在清除過濾器文本框時恢復樹。它還擴展并選擇所有匹配的節點。它并不花哨,我相信可以重寫它以提高效率。
var selectednode;
function valueChanging(sender, args) {
var tree = $find("<%= RadTreeView_Organisation.ClientID %>");
var textbox = document.getElementById("<%= Filter.ClientID %>");
//alert(textbox.value);
var searchString = textbox.value;
if (searchString == "") {
ClearFilter();
}
else {
var allNodes = tree.get_allNodes();
var index;
for (index = 0; index < allNodes.length; index ) {
var node = allNodes[index];
node.set_selected(false);
}
for (index = 0; index < allNodes.length; index ) {
var node = allNodes[index];
if (node.get_expanded)
node.collapse();
}
LoopIt(searchString, tree, textbox);
expandit();
}
return false;
}
function ClearFilter() {
var tree = $find("<%= RadTreeView_Organisation.ClientID %>");
var textbox = $find("<%= Filter.ClientID %>");
var allNodes = tree.get_allNodes();
for (index = 0; index < allNodes.length; index ) {
var node = allNodes[index];
node.set_visible(true);
node.set_selected(false);
if (node.get_expanded)
node.collapse();
}
setTimeout(allNodes[0].expand(), 450);
return false;
}
function LoopIt(searchString, tree, textbox) {
var allNodes = tree.get_allNodes();
allNodes[0].expand;
for (var i = 0; i < tree.get_nodes().get_count() ; i ) {
findNodes(tree.get_nodes().getNode(i), searchString);
}
}
function expandit() {
if (selectednode != null) {
selectednode = selectednode.get_parent();
while (selectednode != null) {
// selectednode.set_selected(true);
if (selectednode.expand) {
selectednode.expand();
}
selectednode = selectednode.get_parent();
}
}
}
function findNodes(node, searchString) {
var hasFoundChildren = false;
if (hasFoundChildren || node.get_text().toLowerCase().indexOf(searchString.toLowerCase()) != -1) {
node.set_selected(true);
}
for (var i = 0; i < node.get_nodes().get_count() ; i ) {
hasFoundChildren = findNodes(node.get_nodes().getNode(i), searchString) || hasFoundChildren;
}
if (hasFoundChildren || node.get_text().toLowerCase().indexOf(searchString.toLowerCase()) != -1) {
node.set_visible(true);
node.expand();
if (node.get_text().toLowerCase().indexOf(searchString.toLowerCase()) != -1) {
node.set_selected(true);
for (var i = 0; i < node.get_nodes().get_count() ; i ) {
DisplayChildren(node);
//node.get_nodes().getNode(i).set_visible(true);
}
}
return true;
}
else {
node.set_visible(false);
return false;
}
}
function DisplayChildren(node) {
for (var ee = 0; ee < node.get_nodes().get_count() ; ee ) {
node.get_nodes().getNode(ee).set_visible(true);
//node.get_nodes().getNode(ee).set_expanded(true);
DisplayChildren(node.get_nodes().getNode(ee));
}
}
//end Treeviewfilter
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/373540.html
標籤:javascript C# 网站 电传
上一篇:從一對多關系資料庫查詢到資料表
下一篇:什么代碼語言使用這些檔案和結構?
