0

SQL Server 2012 と VS2013 を使用しています。SQL サーバーとデータバインドする動的な Radmenu(Telerik) を設計したいと考えています。しかし、実行時に表示されず、エラーは発生しませんでした。

これがコードです。

     <telerik:RadScriptManager runat="server" ></telerik:RadScriptManager>
        <telerik:RadMenu ID="RadMenu1" runat="server" style="top: 0px; left: 0px; width: 800px;height:auto"
             Skin="Metro">
        </telerik:RadMenu>

コードビハインド

   protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            myCnn = new SqlConnection(myCnnstring);
            myCnn.Open();
            mysql = "select * from SYS_Menu";
            mycmd = new SqlCommand(mysql, myCnn);
            myda = new SqlDataAdapter(mycmd);
            myds = new DataSet();
            myda.Fill(myds);
            mydt = new DataTable();
            mydt = myds.Tables[0];

            RadMenu1.DataSource = mydt;
            RadMenu1.DataFieldID = "PK_ID";
            RadMenu1.DataFieldParentID = "ParentID";
            //Set Text, Value, and NavigateUrl:    
            RadMenu1.DataTextField = "TextField";
            RadMenu1.DataValueField = "PK_ID";
            RadMenu1.DataNavigateUrlField = "URL";
            RadMenu1.MaxDataBindDepth = -1;
            RadMenu1.DataBind();
            myCnn.Close();
        } 
    }

テーブル Sys_menu

PK_ID|ParentID|TextField|ValueField|URL
1|1|ホーム|ホーム|~/NewVersion/test2.aspx
10|9|SingleBuilding|SingleBuilding|~/NewVersion/test2.aspx
11|9|GroupBuilding|GroupBuilding|~/NewVersion /test2.aspx
2|1|土地|土地|~/NewVersion/test2.aspx
3|2|土地ブロック|土地ブロック|~/NewVersion/test2.aspx
4|2|土地コスト|土地コスト|~/NewVersion/test2.aspx
5 |3|クーポン|クーポン|~/NewVersion/test2.aspx
6|3|クエリ|クエリ|~/NewVersion/test2.aspx
7|4|クーポン|クーポン|~/NewVersion/test2.aspx
8|4|クエリ|クエリ|~/NewVersion/test2.aspx
9|1|BuildingInfo|BuildingInfo|~/NewVersion/test2.aspx

別の問題: 階層アイテムの ParentID のルートをnullにする必要がある Telerik の指示を読みましたが、エラーが発生します。

私は何をすべきか ?前もって感謝します。

4

2 に答える 2

0

おそらく、親ノードの ParentId 列に NULL が含まれていないことが原因です。

メニューをデータにバインドする前に、データを変更 (null を設定) できますか?

于 2015-08-22T09:37:06.417 に答える