Aug 04, 2012, 9:32 PM
[CLOSED] Labels not visible in Ext Node of TreePanel
This is a simple multi-column TreePanel. I eventually want to have tri-state checkboxes appear in the TreePanel's columns 2...n but for now have removed all but the first column to demonstrate that the nodes of column 1 don't display the text property (but qtip shows the same value just fine ). Confirmed via page source that text property of node is set and no obvious css issues. I've gone over the examples. Do I need to use an Ext.Store?
},
root: {
expanded: true,
text: "DecisionList",
children: [{
leaf: true,
expanded: true,
qtip: "Marketing Decisions",
text: "Marketing Decisions"
},{
leaf: true,
expanded: true,
qtip: "Production Decisions",
text: "Production Decisions"
},{
.aspx (no usercontrol or masterpages etc):
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<br />
<ext:TreePanel ID="TreePanel1" runat="server" Title="Assignment" TitleAlign="Center"
Height="800" ManageHeight="true" AutoScroll="true" Width="1000" UseArrows="false" RootVisible="false" />
</form>
</body>
.cs:
[Serializable()]
public class DecisionPage
{
public string DecisionName { get; set; }
public string PageName { get; set; }
public bool? Q13 { get; set; }
public int PageID { get; set; }
public int DecisionID { get; set; }
}
public partial class TreeDemo : System.Web.UI.Page
{
private TAdminModelContainer AdminContext;
private TStateModelContainer StateContext;
public int teamId = 1;
public Dictionary<string, int> pageList = new Dictionary<string, int>();
protected void Page_Load(object sender, EventArgs e)
{
TreeColumn.Config treeColCfg = new TreeColumn.Config();
StateContext = new TStateModelContainer();
AdminContext = new TAdminModelContainer();
Ext.Net.Node root = new Ext.Net.Node()
{
Text = "DecisionList"
};
TreePanel1.Root.Add(root);
treeColCfg.Text = "Decisions"; // Header
TreePanel1.ColumnModel.Columns.Add(new TreeColumn(treeColCfg));
var decisionPageData = from p in AdminContext.adecisionpage
join d in AdminContext.adecision on p.pageid equals d.page
select new { DecisionName = d.name, PageName = p.name, d.q13, p.pageid, d.decisionID };
List<DecisionPage> decisionPageList = new List<DecisionPage>();
foreach (var decisionPage in decisionPageData) // foreach decision or page
{
DecisionPage newDpObj = new DecisionPage();
newDpObj.DecisionID = decisionPage.decisionID;
newDpObj.PageID = decisionPage.pageid;
newDpObj.DecisionName = decisionPage.DecisionName;
newDpObj.PageName = decisionPage.PageName;
newDpObj.Q13 = decisionPage.q13;
decisionPageList.Add(newDpObj);
if (!pageList.ContainsKey(decisionPage.PageName))
{
pageList.Add(decisionPage.PageName, decisionPage.pageid);
}
}
foreach (KeyValuePair<string, int> pgKvp in pageList)
{
Node.Config pageNodeConfig = new Node.Config();
pageNodeConfig.Text = pgKvp.Key; // does not show (page name)
pageNodeConfig.Icon = Icon.None;
pageNodeConfig.Leaf = false;
pageNodeConfig.Expanded = true;
pageNodeConfig.CustomAttributes.Add(new ConfigItem("DecisionName", pgKvp.Key.ToString()));
pageNodeConfig.Qtip = pgKvp.Key; // visible
Node pageNode = new Node(pageNodeConfig);
// for each page, get the associated Decision list & add the related decisions as children to the node
var decisions = decisionPageData.Where(d => d.pageid == pgKvp.Value);
foreach (var decision in decisions)
{
string dName = decision.DecisionName;
int decId = decision.decisionID;
Node.Config decNodeCfg = new Node.Config(); // configure the row / node / decision
decNodeCfg.Text = dName; // does not show (decision name)
//decNodeCfg.Icon = Icon.None; // does not change icon
decNodeCfg.NodeID = "dn_" + decId;
decNodeCfg.Leaf = true; // decisions are the leaves. ConfigItem value == DecisionID
decNodeCfg.Qtip = dName;
decNodeCfg.CustomAttributes.Add(new ConfigItem("DecisionName", dName, ParameterMode.Auto));
Node decisionNode = new Node(decNodeCfg);
pageNode.Children.Add(decisionNode); // add Decision node to Page node
}
root.Children.Add(pageNode);
}
root.Expanded = true;
}
}
Last edited by Daniil; Aug 07, 2012 at 3:45 AM.
Reason: [CLOSED]