Jun 22, 2014, 9:04 PM
[CLOSED] Desktop Menu Open Page
Hello to All
I am using Desktop component, made a dynamic menu, until there everything is working correctly, so I can not make him run the call from the page when I click an option from the menu, I'm tenatdo do with Listeners.
I can call an aspx or ascx page only?
Can anyone help me with this?
Follows the code I'm using:
Page aspx.
I am using Desktop component, made a dynamic menu, until there everything is working correctly, so I can not make him run the call from the page when I click an option from the menu, I'm tenatdo do with Listeners.
I can call an aspx or ascx page only?
Can anyone help me with this?
Follows the code I'm using:
Page aspx.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Desktop.aspx.cs" Inherits="Desktop" %>
<%@ Register src="winCompany.ascx" tagname="winCompany" tagprefix="uc1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server">
</ext:ResourceManager>
<ext:Desktop ID="Desktop1" runat="server">
<TaskBar runat="server" StartBtnText="Iniciar" StartBtnIconCls="#AsteriskOrange" StyleHtmlContent="False" />
<StartMenu Title="Sistema Integrado de Imobiliarias" Icon="Application" Height="300">
<MenuItems>
<ext:MenuItem ID="MainMenu" runat="server" Text="Menu do Sistema" Icon="Folder">
</ext:MenuItem>
<ext:MenuItem runat="server" Text="Add module">
<%-- <DirectEvents>
<Click Url="/Test/AddModule1" Before="this.disable();">
<ExtraParams>
<ext:Parameter Name="desktopId" Value="Desktop1" Mode="Value" />
</ExtraParams>
</Click>
</DirectEvents>--%>
<Listeners>
<Click Handler="#{winCompany}.show();" />
</Listeners>
</ext:MenuItem>
</MenuItems>
<Items>
<ext:MenuItem Text="Ulisses">
<Menu>
<ext:Menu ID="Menu1" runat="server">
<Items>
<ext:MenuItem ID="MenuItem2" runat="server" Text="Child Item 001.1">
<Listeners>
<Click Handler="alert('001');"></Click>
</Listeners>
</ext:MenuItem>
<ext:MenuItem ID="MenuItem3" runat="server" Text="Child Item 001.2">
<Listeners>
<Click Handler="alert('002');"></Click>
</Listeners>
</ext:MenuItem>
</Items>
</ext:Menu>
</Menu>
</ext:MenuItem>
</Items>
<ToolConfig>
<ext:Toolbar runat="server" Width="100">
<Items>
<ext:Button runat="server" Text="Settings" Icon="Cog" />
<ext:Button runat="server" Text="Logout" Icon="Key">
<DirectEvents>
<Click OnEvent="Logout_Click">
<EventMask ShowMask="true" Msg="Good Bye..." MinDelay="1000" />
</Click>
</DirectEvents>
</ext:Button>
</Items>
</ext:Toolbar>
</ToolConfig>
</StartMenu>
</ext:Desktop>
</form>
</body>
</html>
Code C#using BusinessObjects;
using Ext.Net;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Desktop : System.Web.UI.Page
{
int menuValue = 1;
int incValue = 1;
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
buildMenu();
}
}
private void buildMenu()
{
Ext.Net.Menu SubMenu = new Ext.Net.Menu();
Ext.Net.MenuItem SubMenuFolder;
string ConnectionString = "Database=ucaneto_imobiliaria;Data Source=baratheon0101.hospedagemdesites.ws;User Id=ucane_imobil;Password=s;";
MySqlConnection con = new MySqlConnection(ConnectionString);
string sqlstatment = "select * from TblMenu ";
MySqlDataAdapter adapter = new MySqlDataAdapter(sqlstatment, con);
DataSet ds = new DataSet();
adapter.Fill(ds, "vw_menu");
if (ds.Tables[0].Rows.Count > 0)
{
SubMenu.ID = "SubMenu";
MainMenu.Menu.Add(SubMenu);
}
ds.Relations.Add("NodeRelation", ds.Tables[0].Columns["ID"], ds.Tables[0].Columns["IdPai"]);
foreach (DataRow dbRow in ds.Tables[0].Rows)
{
if (dbRow.IsNull("IdPai"))
{
SubMenuFolder = new Ext.Net.MenuItem();
SubMenuFolder.ID = dbRow["Menu"].ToString();
SubMenuFolder.Icon = ParseEnum<Icon>(dbRow["Icone"].ToString());
SubMenuFolder.Text = dbRow["Menu"].ToString();
SubMenu.Items.Add(SubMenuFolder);
incValue = 1;
this.PopulateSubItem(dbRow, SubMenuFolder);
}
}
}
private void PopulateSubItem(DataRow dbRow, Ext.Net.MenuItem itm)
{
Ext.Net.MenuItem childitm;
Ext.Net.Menu SubSubMenu = new Ext.Net.Menu();
foreach (DataRow childRow in dbRow.GetChildRows("NodeRelation"))
{
if ((int)childRow["IdPai"] == 0)
{
SubSubMenu.ID = "SubSubMenu" + menuValue.ToString();
itm.Menu.Add(SubSubMenu);
childitm = new Ext.Net.MenuItem();
childitm.ID = childRow["Menu"].ToString();
childitm.Icon = ParseEnum<Icon>(childRow["Icone"].ToString());
childitm.Text = childRow["Menu"].ToString();
SubSubMenu.Items.Add(childitm);
incValue = 1;
}
else
{
if (incValue == 1)
{
SubSubMenu.ID = "SubSubMenu" + menuValue.ToString();
itm.Menu.Add(SubSubMenu);
}
childitm = new Ext.Net.MenuItem();
childitm.ID = childRow["Menu"].ToString();
childitm.Icon = ParseEnum<Icon>(childRow["Icone"].ToString());
childitm.Text = childRow["Menu"].ToString();
if (!string.IsNullOrEmpty(childRow["Formulario"].ToString()))
childitm.Listeners.Click.Handler = "#{" + childRow["Formulario"].ToString() + "}.show();"; //Here I try to make a call page
SubSubMenu.Items.Add(childitm);
incValue = 0;
}
menuValue += menuValue;
this.PopulateSubItem(childRow, childitm);
}
}
[DirectMethod]
public void Logout_Click(object sender, DirectEventArgs e)
{
}
}
Last edited by Daniil; Jul 01, 2014 at 2:46 PM.
Reason: [CLOSED]