1

以下のような rad ツリー ビューがあります。

<telerik:RadTreeView ID="rtreevwParvandehShakhsi" runat="server" CheckBoxes="true" TriStateCheckBoxes="False" DataSourceID="SqlDataSource1" EnableViewState="true"></telerik:RadTreeView>

<asp:SqlDataSource runat="server" ID="SqlDataSource1" ConnectionString='<%$ ConnectionStrings:PigisConnectionString %>' SelectCommand="SELECT SCT_ParvandehShakhsi.*, ParvandehShakhsi_ID AS Expr1, ParvandehShakhsi_Code AS Expr2, ParvandehShakhsi_Desc AS Expr3, ParvandehShakhsi_ParentID AS Expr4, ParvandehShakhsi_Personel_ID AS Expr5 FROM SCT_ParvandehShakhsi WHERE (ParvandehShakhsi_Personel_ID = @personel_ID)">
     <SelectParameters>
     <asp:SessionParameter SessionField="user_personel_id" Name="personel_ID"></asp:SessionParameter>
      </SelectParameters>
 </asp:SqlDataSource>

<asp:Button ID="btnSubmitParvandehShakhsi" runat="server" Text="ثبت" OnClick="btnSubmitParvandehShakhsi_Click" CausesValidation="false" Font-Size="Medium" CssClass="btn green" Height="38px" Width="63px" />

コードビハインドでチェックされたノードを取得したい。私は以下のコードを使用しますが、チェックされたノードを取得しません! 問題はどこだ?

 protected void btnSubmitParvandehShakhsi_Click(object sender, EventArgs e)
{
    foreach (RadTreeNode tnode in rtreevwParvandehShakhsi.CheckedNodes)
    {
        RadWindowManager1.RadAlert("node value : " + tnode.Value, 330, 180, "پیام سیستم", null, null);
    }
}
4

1 に答える 1

1

PostBack でない場合は、Page_Load でツリービューの DataSourceId を手動で設定してみてください。

ボタンクリックイベントが発生してCheckedNodesが空になる前に、ツリービューのデータソースがページの読み込み時にオーバーライドされると思います。

于 2014-09-16T09:20:33.353 に答える