无法在后面的代码中从RadTreeView中获取已检查的节点

时间:2014-09-16 06:13:46

标签: asp.net telerik radtreeview

我有一个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);
    }
}

1 个答案:

答案 0 :(得分:1)

如果不是PostBack,请尝试在Page_Load上手动设置树视图的DataSourceId。

我认为在按钮点击事件触发导致CheckedNodes为空之前,树视图的数据源会在页面加载时被覆盖。