2

我面临以下问题:当我尝试绑定Telerik Treeview

这些列当前没有唯一值。


我的代码:

protected void BindRTV()
{
    rtv_acd.DataTextField = "name";
    rtv_acd.DataValueField = "main_id";
    rtv_acd.DataFieldID = "main_code";
    rtv_acd.DataFieldParentID = "father_code";
    rtv_acd.DataSource = dt;
    rtv_acd.DataBind();
}

数据快照:

在此处输入图像描述

如何解决这个问题,我知道这main_code是重复的,但我想要那个。

4

3 回答 3

5

节点之间存在父子关系,并且该关系适用于DataFieldIDDataFieldParentID成员中指定的值。因此,您必须为DataFieldID成员指定一个具有唯一值的字段。

假设您有两个 ID ( main_code) 的节点1(您已经拥有),并且还有另一个节点的父 ID ( father_code) 为1。那么这两个节点中的哪一个是这个节点的父节点呢?

于 2013-03-11T13:31:52.637 回答
1

正如穆罕默德所说,您应该至少有一个唯一的键列(不重复)。如果不这样做,当您尝试设置主键时会发生此错误。

还要考虑到您在该表中没有空白行,这确实被视为唯一列并且我遇到了这个错误。

最好的方法是获得具有一定数量的考虑列的不同行。

检查 Telerik 开发者论坛 [1] http://www.telerik.com/forums/fetching-distinct-rows-from-datatable-using-linq [2] http://www.telerik.com/forums/display-不同值 [3] http://www.telerik.com/forums/adding-5000-distinct-record-for-a-column-based-on-which-grouping-is-done-causing-ie-crash

在此 Telerik 还回复说您应该使用唯一的列键。

另一个调整可能是选择数据表作为不同的值 [4] http://www.telerik.com/forums/radtreeview-selectednode-value

如果您尚未在开发者论坛解决此问题,请联系他们

于 2016-10-11T09:39:20.127 回答
1

这是关于您的表的 sql 表和主键,并且您的表字段中有重复的数据

于 2018-05-12T02:58:09.767 回答