1、默认icon
2、自定义icon
完整的代码,文件WebForm2.aspx中代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="ext_SMS.WebForm2" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>改变TreePanel Icon图标</title>
style type="text/css"> //自定义样式
.add {
background-image: url(image/query.jpg) !important;
}
</style>
</head>
<body>
<form id="Form2" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Viewport ID="Viewport1" runat="server">
<Items>
<ext:BorderLayout ID="BorderLayout1" runat="server">
<West>
<ext:TreePanel
ID="TreePanel1"
runat="server"
Title="Tree"
Width="200"
AutoHeight="true"
Border="false">
<Root>
<ext:AsyncTreeNode Text="系统功能模块" NodeID="root" Expanded="true" Icon="ApplicationHome">
</ext:AsyncTreeNode>
</Root>
<Loader>
<ext:PageTreeLoader RequestMethod="POST" OnNodeLoad="GetReportList" PreloadChildren="true">
<EventMask ShowMask="true" Target="Parent" Msg="Loading..." />
</ext:PageTreeLoader>
</Loader>
<Listeners>
<Click Handler="if(node.isLeaf()){e.stopEvent();loadExample(node);}" />
</Listeners>
</ext:TreePanel>
</West>
<Center>
<ext:TabPanel ID="Pages" runat="server" EnableTabScroll="true" />
</Center>
</ext:BorderLayout>
</Items>
</ext:Viewport>
</form>
</body>
</html>
后台文件WebForm2.aspx.cs中代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Ext.Net;
using System.Data;
namespace ext_SMS
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void GetReportList(object sender, NodeLoadEventArgs e)
{
string prefix = e.ExtraParams["prefix"] ?? "";
if (!string.IsNullOrEmpty(e.NodeID))
{
for (int i = 1; i < 6; i++)
{
AsyncTreeNode asyncNode = new AsyncTreeNode();
asyncNode.Text = prefix + e.NodeID + i;
asyncNode.NodeID = e.NodeID + i;
e.Nodes.Add(asyncNode);
}
for (int i = 6; i < 11; i++)
{
Ext.Net.TreeNode treeNode = new Ext.Net.TreeNode();
treeNode.Text = prefix + e.NodeID + i;
treeNode.NodeID = e.NodeID + i;
treeNode.Leaf = true;
// treeNode.Icon = Icon.Accept; //注意此处设置不起作用
treeNode.IconCls = "add"; //设置自定义样式
e.Nodes.Add(treeNode);
}
}
}
}
}
注意:图片位于image文件夹下,名称query.jpg
3、需要默认样式时,不设置自定义样式即可。
去掉这句:treeNode.IconCls = "add"; //设置自定义样式
.