<script type="text/javascript">
var activenode = null;
function $(id){return document.getElementById(id);}
function AppySetting(){
if (activenode!=null){
activenode.setAttribute('AllowAdd' ,(($('AllowAdd' ).checked)? 'True':'False'));
activenode.setAttribute('AllowEdit' ,(($('AllowEdit' ).checked)? 'True':'False'));
activenode.setAttribute('AllowDelete',(($('AllowDelete').checked)? 'True':'False'));
}
}
function OnClientNodeClicked(sender, args)
{
activenode = args.get_node().get_attributes();
$('AllowAdd' ).checked = activenode.getAttribute('AllowAdd' )=='True';
$('AllowEdit' ).checked = activenode.getAttribute('AllowEdit' )=='True';
$('AllowDelete').checked = activenode.getAttribute('AllowDelete')=='True';
}
</script>
server code :
aspx page
<telerik:RadTreeView id="RadTreeViewBackOffice" runat="server"
CheckBoxes="True" TriStateCheckBoxes="true" CheckChildNodes="true"
OnNodeDataBound="OnNodeDataBound"
OnClientNodeClicked="OnClientNodeClicked"
OnClientNodeChecking="OnClientNodeClicked" />
code behind :
protected
void OnNodeDataBound(object sender, RadTreeNodeEventArgs e ){
e.Node.Attributes.Add("AllowAdd" ,"True");
e.Node.Attributes.Add("AllowEdit" ,"True");
e.Node.Attributes.Add("AllowDelete" ,"True");
}
protected void OnClick(object sender, EventArgs e )
{
foreach(RadTreeNode Node in RadTreeViewBackOffice.CheckedNodes){
Response.Write(Node.Attributes["AllowAdd"]);
}
<
telerik:RadTreeView ID="RadTreeView1" runat="server" CheckBoxes="true"
CheckChildNodes="true" TriStateCheckBoxes="true" Skin="Outlook" ShowLineImages="false"
Style="margin-bottom: 10px">
</telerik:RadTreeView>
radTreeView.WebServiceSettings.Path =
"~/zz_Portal/KdsDimensionLoader.aspx";
radTreeView.WebServiceSettings.Method =
"GetKdsDimElements";
node.ExpandMode =
TreeNodeExpandMode.WebService;
[
WebMethod]
public static RadTreeNodeData[] GetKdsDimElements(RadTreeNodeData node)
{
List<RadTreeNodeData> result = new List<RadTreeNodeData>();
DataRow kdsDimSlicer = MDXSlicers.FindSlicerById("11");
MetaData metaData1 = (MetaData)HttpContext.Current.Session[SessionVariables.MetaData.ToString()];
if (metaData1 != null)
{
string dimName = (string)kdsDimSlicer[MDXSlicers.DIMENSION];
string hierarchyName = (string)kdsDimSlicer[MDXSlicers.HIERARCHY];
DataTable table = metaData1.GetMembers(dimName, hierarchyName);
DataRow[] rows = table.Select("ParentUniqueName = '" + node.Value.Replace("'", "''") + "'");
foreach (DataRow row in rows)
{
RadTreeNodeData childNode = new RadTreeNodeData();
childNode.Text = row[
"Name"].ToString();
childNode.Value = row[
"UniqueName"].ToString();
DataRow[] checkChilds = table.Select("ParentUniqueName = '" + childNode.Value.Replace("'", "''") + "'");
if (checkChilds.Length > 0)
{
childNode.ExpandMode =
TreeNodeExpandMode.WebService;
}
result.Add(childNode);
}
}
return result.ToArray();
}