【问题标题】:Get to get TreeView node using a DataItem ID in UI for ASPNET MVC在 ASPNET MVC 的 UI 中使用 DataItem ID 获取 TreeView 节点
【发布时间】:2015-03-10 22:56:39
【问题描述】:

如何在 ASPNET MVC 的 UI 中使用 DataItem ID 获取 TreeView 节点?显然代码不起作用,但我正在寻找这样的东西:

var treeview = $("#OrganizationTree").data("kendoTreeView");

var node = treeview.GetNodeByDataItemID(1234);

【问题讨论】:

    标签: jquery kendo-ui kendo-treeview


    【解决方案1】:

    如果您的 DS 具有定义 id 字段的架构模型(或者您使用的是默认值),

    var dataItem = treeview.dataSource.get(id)
    

    应该可以。

    如果你有一个 dataItem 并且想要获取 DOM 节点,你可能正在寻找findByUid

    treeview.findByUid(dataItem.uid);
    

    【讨论】:

    • 这似乎不起作用。它如何知道我的数据 ID 属性的名称是什么来比较值?我基本上想做与此相反的事情:var dataID = treeview.dataItem(selectedNode).ID。我想传入数据 ID(不是节点 ID)并取回节点(或节点的 uid)。
    • 我不确定我是否理解您的术语;如果你有模型的id,你可以从数据源中获取模型,然后从模型中获取uid,然后你可以用findByUid搜索
    • 是的,这就是我想要做的(通过我的数据模型的 ID 属性找到节点),但你的代码对我不起作用。我将运行一些孤立的测试,看看我是否可以先让它以这种方式工作。
    • 除非您的 id 字段是“id”,否则您需要定义 DS 架构来告诉 DS 使用哪个字段;或者您只需使用 function(item) { return item.ID === 1234 } 获取 ds.data() 和 .filter
    • 您的代码是独立运行的。我认为问题是我的树视图在调用treeview.dataSource.get(id) 时没有完成绑定(即使我在调用 get() 之后调用它)。我可能需要将它与 onDataBound 方法或其他东西联系起来。
    猜你喜欢
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多