这些列目前没有唯一的值

时间:2013-03-11 13:27:34

标签: c# asp.net datatable telerik radtreeview

我遇到以下问题:当我尝试绑定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();
}

数据快照:

enter image description here

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

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

正如穆罕默德所说,你应该至少有一个独特的关键栏(不重复)。如果在尝试设置主键时不会发生此错误。

还要考虑到该表中没有空白行,确实将其视为唯一列,并且我遇到了此错误。

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

查看telerik开发者论坛 [1] http://www.telerik.com/forums/fetching-distinct-rows-from-datatable-using-linq [2] http://www.telerik.com/forums/display-distinct-values [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

如果您在开发者论坛

尚未解决此问题,请与他们联系

答案 2 :(得分:0)

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