引用 xmlns:tlk="http://schemas.telerik.com/2008/xaml/presentation"
控件
<tlk:RadTreeView BorderBrush="Bisque" BorderThickness="1" x:Name="insurTree" Padding="2,3,10,2"
VerticalAlignment="Stretch"
IsLoadOnDemandEnabled="True" ItemDoubleClick ="alarmObj_LoadOnDemand"
Grid.Row="0"
LoadOnDemand="alarmObj_LoadOnDemand"
FontFamily="Arial,SimSun" FontSize="12" >
</tlk:RadTreeView>
数据填补
private void alarmObj_LoadOnDemand(object sender, Telerik.Windows.RadRoutedEventArgs e) {
this.Cursor = Cursors.Wait;
if (insurTree.Items.Count() <= 0)
{
TreeNodeItem tvi = new TreeNodeItem(1, "动环", 0, "", 0);
tvi.Header = "动环";
tvi.DefaultImageSrc = "/images/menuicon/menu/ss.png";
insurTree.Items.Add(tvi);
ringtree.getInstance().findcity(tvi, 0);
}
this.Cursor = Cursors.Arrow ;
}
查询数据的类 ringtree类
private static ringtree instance = null;
TreeNodeItem parentNode = null;
public static ringtree getInstance()
{
if (instance == null)
{
instance = new ringtree();
}
return instance;
}
public void findcity(TreeNodeItem parent, int level)
{
parentNode = parent;
RMIClient rmiClient = new RMIClient();
Dictionary<string, string> pam = new Dictionary<string, string>();
pam.Add("city", 1 + "");
rmiClient.callRemotMethodUseForm<IList<City>>("ring/RingMG/City.json", pam, getfindcity);
}
//第一级根查询
private void getfindcity(IList<City> responseObject, Exception e, String resultStr)
{
Debug.WriteLine("返回数据->" + resultStr);
IList<City> splist = responseObject;
foreach (City c in splist)
{
TreeNodeItem node = new TreeNodeItem(c.id,c.name,-1,"",1);
node.setParentid(parentNode.getId());
parentNode.Items.Add(node);
}
}
TreeNodeItem 类,,
public class TreeNodeItem : RadTreeViewItem
{
private m_id{get;set;}
private m_type{get;set}
private m_name{get;set;}
private m_imagename{get;set}
private m_leveltype = leveltype;
public TreeNodeItem(long id, String name, int type,String imagename,int leveltype)
{
this.Header = name;
m_id = id;
m_type = type;
m_name = name;
m_imagename = imagename;
DefaultImageSrc = imagename;
m_leveltype = leveltype;
}
}