Beispiel #1
0
        public categorialistview()
        {
            TreeViewHelper treeViewHelper = new TreeViewHelper(TreeView, AppDomain.Instance.DbConnection, "select id, nombre from categoria");

            Gtk.Action refreshAction = new Gtk.Action("refreshAction",null,null, Stock.Refresh);
            refreshAction.Activated += delegate {
                treeViewHelper.Refresh();
            };
            actionGroup.Add (refreshAction);
        }
Beispiel #2
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();
        InfoAction.Sensitive=false;
        addAction.Sensitive=true;
        deleteAction.Sensitive=false;
        refreshAction.Sensitive=true;
        mySqlConnection.Open();
        string sql="Select * from categoria";
        string sql2="Select * from articulo";
        if(notebook1.GetTabLabelText(notebook1.GetNthPage(0)).Equals("Categoria")){

            tree1=new TreeViewHelper(treeview2,mySqlConnection,sql);

        }
        if(notebook1.GetTabLabelText(notebook1.GetNthPage(1)).Equals("Articulo")){

            tree2=new TreeViewHelper(treeview1,mySqlConnection,sql2);

        }

        InfoAction.Activated +=delegate{

                listStore=creaListStore();
                string op=listStore.GetValue(iter,1).ToString();

                    MessageDialog md = new MessageDialog
                        (this, DialogFlags.Modal, MessageType.Info, ButtonsType.Close,op);
                    md.Run();
                    md.Destroy();
        };

        addAction.Activated +=delegate{

                win = new Window ("Test");
                win.SetDefaultSize (300, 100);
                win.SetPosition(WindowPosition.Center);
                hbox=new HBox(false,0);
                vbox=new VBox(false,0);
                vbox2=new VBox(false,0);

                win.Add(hbox);
                hbox.PackStart(vbox,false,false,0);

                //hbox.PackStart(vbox2,false,false,0);
            if(esCategoria()){

                creaVentanaCategoria();

            }
            else{
                win.SetDefaultSize (300, 200);
                creaVentanaArticulo();
            }
        };

        deleteAction.Activated +=delegate{
            if(esCategoria()){
                listStore=creaListStore();
                string nombre=listStore.GetValue(iter,1).ToString();
                MessageDialog md2 = new MessageDialog
                        (this, DialogFlags.Modal, MessageType.Warning, ButtonsType.YesNo,"¿Seguro que quieres borrarlo? \n Borrar: "+nombre);

            ResponseType result = (ResponseType)md2.Run ();
            string op=listStore.GetValue(iter,0).ToString();

            if (result == ResponseType.Yes){
                MySqlCommand delete=mySqlConnection.CreateCommand();
                delete.CommandText= "Delete from categoria where id="+op+"";
                delete.ExecuteNonQuery();
                md2.Destroy();
            }
            else{
                md2.Destroy();

            }
            }
            else{

                listStore=creaListStore();
                string nombre=listStore.GetValue(iter,1).ToString();
                MessageDialog md2 = new MessageDialog
                        (this, DialogFlags.Modal, MessageType.Warning, ButtonsType.YesNo,"¿Seguro que quieres borrarlo? \n Borrar: "+nombre);

                ResponseType result = (ResponseType)md2.Run ();
                string op=listStore.GetValue(iter,0).ToString();

                if (result == ResponseType.Yes){
                    MySqlCommand delete=mySqlConnection.CreateCommand();
                    delete.CommandText= "Delete from articulo where id="+op+"";
                    delete.ExecuteNonQuery();
                    md2.Destroy();
                }
                else{
                md2.Destroy();

                }
            }
        };

        notebook1.SwitchPage+=delegate{
            if(esCategoria()){
                    bool isSelected=treeview2.Selection.GetSelected(out iter);
                    if(isSelected){
                        InfoAction.Sensitive=true;
                        addAction.Sensitive=true;
                        deleteAction.Sensitive=true;
                        refreshAction.Sensitive=true;
                    }
                    else{
                        InfoAction.Sensitive=false;
                        //addAction.Sensitive=false;
                        deleteAction.Sensitive=false;
                        //refreshAction.Sensitive=false;
                }
            }
            else{
                bool isSelected=treeview1.Selection.GetSelected(out iter);
                if(isSelected){
                    InfoAction.Sensitive=true;
                    addAction.Sensitive=true;
                    deleteAction.Sensitive=true;
                    refreshAction.Sensitive=true;
                }
                else{
                    InfoAction.Sensitive=false;
                    //addAction.Sensitive=false;
                    deleteAction.Sensitive=false;
                    //refreshAction.Sensitive=false;
                }
            }
        };
        treeview1.Selection.Changed +=delegate{

            if(!esCategoria()){
                bool isSelected=treeview1.Selection.GetSelected(out iter);
                if(isSelected){
                    InfoAction.Sensitive=true;
                    //addAction.Sensitive=true;
                    deleteAction.Sensitive=true;
                    refreshAction.Sensitive=true;
                }
                else{
                    InfoAction.Sensitive=false;
                    //addAction.Sensitive=false;
                    deleteAction.Sensitive=false;
                    //refreshAction.Sensitive=false;
                }
            }
        };

            treeview2.Selection.Changed +=delegate{

                if(esCategoria()){
                    bool isSelected=treeview2.Selection.GetSelected(out iter);
                    if(isSelected){
                        InfoAction.Sensitive=true;
                        //addAction.Sensitive=true;
                        deleteAction.Sensitive=true;
                        refreshAction.Sensitive=true;
                    }
                    else{
                        InfoAction.Sensitive=false;
                        //addAction.Sensitive=false;
                        deleteAction.Sensitive=false;
                        //refreshAction.Sensitive=false;
                }
            }
        };

        refreshAction.Activated +=delegate{
            if(esCategoria()){
                listStore=tree1.ListStore;
                fielCountCategoria=tree1.getFieldCount();
                for (int i=0;i<fielCountCategoria;i++){//elimina columnas
                    treeview2.RemoveColumn(treeview2.GetColumn(0));
                }
                listStore.Clear();
                listStore=tree1.ListStore;
                tree1.actualizar(dbCommand,listStore);

            }
            else{
                listStore=tree2.ListStore;
                fieldCountArticulo=tree2.getFieldCount();
                for (int i=0;i<fieldCountArticulo;i++){//elimina columnas
                    treeview1.RemoveColumn(treeview1.GetColumn(0));
                }
                listStore.Clear();
                listStore=tree2.ListStore;
                tree2.actualizar(dbCommand,listStore);
            }
        };
    }
Beispiel #3
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        /**
         *
         * EMPLEANDO NUEVA CLASE TREEVIEWHELPER,
         *
         */

        QueryResult queryResult = PersisterHelper.Get ("select * from articulo");
        TreeViewHelper treeViewHelper = new TreeViewHelper (treeViewArticulo,queryResult);
        treeViewHelper.fillTreeView ();

        /**
         * EMPLEANDO LA CLASE PERSISTER Y QUERYRESULT (CONEXION FUERA DEL MAINWINDOW)
         *
        */
        /**QueryResult queryResult = PersisterHelper.Get ("select * from articulo");
        CellRendererText cellRendererText = new CellRendererText ();

        for (int i= 0; i<queryResult.ColumNames.Length; i++) {
            int column = i;
            treeViewArticulo.AppendColumn(queryResult.ColumNames.GetValue(i).ToString(), cellRendererText ,
                                          delegate(TreeViewColumn treeColumn, CellRenderer cell, TreeModel treeModel, TreeIter iter){

                IList row = (IList) treeModel.GetValue(iter,0);
                cellRendererText.Text = row[column].ToString();

            });

        }

        ListStore listStore = new ListStore (typeof(IList));

        IEnumerable<IList> values = queryResult.Rows;

        foreach (IList k in values) {
            listStore.AppendValues (k);

        }

        treeViewArticulo.Model = listStore;*/

           /**
        *
        * EMPLEANDO LA CONEXION DENTRO DEL MAINWINDOW
        *
        */

        /**	IDbConnection dbConection = App.Instance.DbConnection;

        IDbCommand dbCommand = dbConection.CreateCommand ();
        dbCommand.CommandText = "select * from articulo";
        IDataReader dataReader = dbCommand.ExecuteReader ();

        MiClassDb miDbClass = new MiClassDb (dataReader);
        CellRendererText cellRendererText = new CellRendererText ();
        string[] columnNames = miDbClass.showColumnNames ();
        for (int i= 0; i<columnNames.Length; i++) {

            int column = i;
            treeViewArticulo.AppendColumn(columnNames[i], cellRendererText ,
                                          delegate(TreeViewColumn treeColumn, CellRenderer cell, TreeModel treeModel, TreeIter iter){

                IList row = (IList) treeModel.GetValue(iter,0);
                cellRendererText.Text = row[column].ToString();

            });

        }
        ListStore listStore = new ListStore (typeof(IList));

        IList values = miDbClass.getValues ();

        foreach (IList k in values) {

            listStore.AppendValues (k);

        }

        treeViewArticulo.Model = listStore;
        dataReader.Close ();
        dbConection.Close ();
        */
    }
Beispiel #4
0
        void helperButton_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                if (sender is ToolStripItem)
                {
                    Keys key = (Keys)((ToolStripItem)sender).Tag;

                    if (SelectedEntity is MetaSource)
                    {
                        if (key == Keys.F7)
                        {
                            MetaSource source = ((MetaSource)SelectedEntity);
                            source.Connection.CheckConnection();
                            source.Information = source.Connection.Information;
                            source.Error       = source.Connection.Error;
                            source.InitEditor();
                        }
                        if (key == Keys.F12)
                        {
                            MetaTable table = ((MetaSource)SelectedEntity).MetaData.MasterTable;
                            if (table != null)
                            {
                                TreeViewHelper.SelectNode(MainTreeView, MainTreeView.SelectedNode.Nodes, table);
                                EditProperty("Default Load Script");
                            }
                        }
                    }
                    else if (SelectedEntity is MetaConnection)
                    {
                        if (key == Keys.F7)
                        {
                            ((MetaConnection)SelectedEntity).CheckConnection();
                        }
                    }
                    else if (SelectedEntity is MetaTable)
                    {
                        if (key == Keys.F7)
                        {
                            ((MetaTable)SelectedEntity).CheckTable(null);
                        }
                        if (key == Keys.F8)
                        {
                            if (((MetaTable)SelectedEntity).IsSQL)
                            {
                                EditProperty("SQL Select Statement");
                            }
                            else
                            {
                                EditProperty("Definition Script");
                            }
                        }
                        if (key == Keys.F9 && ((MetaTable)SelectedEntity).DynamicColumns)
                        {
                            ((MetaTable)SelectedEntity).Refresh();
                            if (EntityHandler != null)
                            {
                                EntityHandler.SetModified();
                                EntityHandler.InitEntity(SelectedEntity);
                            }
                        }
                        if (key == Keys.F12)
                        {
                            EditProperty("Default Load Script");
                        }
                    }
                    else if (SelectedEntity is MetaColumn)
                    {
                        if (key == Keys.F7)
                        {
                            EditProperty("Check column SQL syntax");
                        }
                        if (key == Keys.F8)
                        {
                            EditProperty("Show column values");
                        }
                    }
                    else if (SelectedEntity is MetaEnum)
                    {
                        if (key == Keys.F8)
                        {
                            EditProperty("SQL Select Statement");
                        }
                        if (key == Keys.F9)
                        {
                            if (EntityHandler != null)
                            {
                                EntityHandler.SetModified();
                            }
                            ((MetaEnum)SelectedEntity).RefreshEnum();
                        }
                    }
                    else if (SelectedEntity is MetaJoin)
                    {
                        if (key == Keys.F7)
                        {
                            ((MetaJoin)SelectedEntity).CheckJoin();
                        }
                        if (key == Keys.F8)
                        {
                            EditProperty("SQL Clause");
                        }
                    }
                    else if (SelectedEntity is TasksFolder)
                    {
                        if (key == Keys.F7)
                        {
                            EditProperty("Common Scripts");
                        }
                        if (key == Keys.F8)
                        {
                            EditProperty("Report Restriction Values");
                        }
                    }
                    else if (SelectedEntity is ReportTask)
                    {
                        if (key == Keys.F7)
                        {
                            EditProperty("Script");
                        }
                        if (key == Keys.F8)
                        {
                            EditProperty("SQL Statement");
                        }
                    }
                    else if (SelectedEntity is ReportModel)
                    {
                        if (key == Keys.F7 || key == Keys.F8)
                        {
                            var frm = new SQLEditorForm();
                            frm.Instance     = SelectedEntity;
                            frm.PropertyName = "";

                            ReportModel model = SelectedEntity as ReportModel;
                            if (model.IsSQLModel && key == Keys.F7)
                            {
                                frm.Text = "SQL Editor: Edit the SQL Select Statement";
                                frm.SetSamples(new List <string>()
                                {
                                    "SELECT * FROM Orders", "SELECT *\r\nFROM Employees\r\nWHERE {CommonRestriction_LastName}",
                                    "SELECT * FROM Orders", "SELECT *\r\nFROM Employees\r\nWHERE EmployeeID > {CommonValue_ID}"
                                });
                                frm.WarningOnError  = true;
                                frm.sqlTextBox.Text = model.Table.Sql;
                                if (frm.ShowDialog() == DialogResult.OK)
                                {
                                    try
                                    {
                                        Cursor.Current  = Cursors.WaitCursor;
                                        model.Table.Sql = frm.sqlTextBox.Text;
                                        model.RefreshMetaTable(true);
                                    }
                                    finally
                                    {
                                        Cursor.Current = Cursors.Default;
                                    }

                                    if (EntityHandler != null)
                                    {
                                        EntityHandler.SetModified();
                                        EntityHandler.RefreshModelTreeView();
                                    }

                                    if (!string.IsNullOrEmpty(model.Table.Error))
                                    {
                                        throw new Exception("Error when building columns from the SQL Select Statement:\r\n" + model.Table.Error);
                                    }
                                }
                            }
                            else
                            {
                                model.Report.CheckingExecution = true;
                                try
                                {
                                    model.BuildSQL();
                                    frm.SqlToCheck = model.Sql;
                                    model.Report.CheckingExecution = false;
                                    model.BuildSQL();
                                }
                                finally
                                {
                                    model.Report.CheckingExecution = false;
                                }
                                if (!string.IsNullOrEmpty(model.ExecutionError))
                                {
                                    throw new Exception("Error building the SQL Statement...\r\nPlease fix these errors first.\r\n" + model.ExecutionError);
                                }
                                frm.sqlTextBox.Text = model.Sql;
                                frm.SetReadOnly();
                                if (key == Keys.F8)
                                {
                                    frm.checkSQL();
                                }
                                frm.ShowDialog();
                            }
                        }
                    }
                    else if (SelectedEntity is ReportView)
                    {
                        if (key == Keys.F8)
                        {
                            EditProperty("Custom template");
                        }
                    }
                    else if (SelectedEntity is ReportSchedule)
                    {
                        if (key == Keys.F8)
                        {
                            EditProperty("Edit schedule properties");
                        }
                        if (key == Keys.F9)
                        {
                            EditProperty("Run Task Scheduler MMC");
                        }
                    }
                }
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Beispiel #5
0
    protected void fill()
    {
        QueryResult queryResult1 = PersisterHelper.Get("select * from categoria");

        TreeViewHelper.Fill(treeView, queryResult1);
    }
Beispiel #6
0
        void helperButton_Click(object sender, EventArgs e)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                if (sender is ToolStripItem)
                {
                    Keys key = (Keys)((ToolStripItem)sender).Tag;

                    if (SelectedEntity is MetaSource)
                    {
                        if (key == Keys.F7)
                        {
                            MetaSource source = ((MetaSource)SelectedEntity);
                            source.Connection.CheckConnection();
                            source.Information = source.Connection.Information;
                            source.Error       = source.Connection.Error;
                            source.InitEditor();
                        }
                        if (key == Keys.F8 || key == Keys.F12)
                        {
                            MetaTable table = ((MetaSource)SelectedEntity).MetaData.MasterTable;
                            if (table != null)
                            {
                                TreeViewHelper.SelectNode(MainTreeView, MainTreeView.SelectedNode.Nodes, table);
                                EditProperty(table.IsSQL ? "SQL Statement" : "Default Load Script");
                            }
                        }
                    }
                    else if (SelectedEntity is MetaConnection)
                    {
                        if (key == Keys.F7)
                        {
                            ((MetaConnection)SelectedEntity).CheckConnection();
                        }
                    }
                    else if (SelectedEntity is MetaTable)
                    {
                        if (key == Keys.F7)
                        {
                            ((MetaTable)SelectedEntity).CheckTable(null);
                        }
                        if (key == Keys.F8)
                        {
                            if (((MetaTable)SelectedEntity).IsSQL)
                            {
                                EditProperty("SQL Statement");
                            }
                            else
                            {
                                EditProperty("Definition Script");
                            }
                        }
                        if (key == Keys.F9 && ((MetaTable)SelectedEntity).DynamicColumns)
                        {
                            ((MetaTable)SelectedEntity).Refresh();
                            if (EntityHandler != null)
                            {
                                EntityHandler.SetModified();
                                EntityHandler.InitEntity(SelectedEntity);
                            }
                        }
                        if (key == Keys.F12)
                        {
                            EditProperty("Default Load Script");
                        }
                    }
                    else if (SelectedEntity is MetaColumn)
                    {
                        if (key == Keys.F7)
                        {
                            EditProperty("Check column SQL syntax");
                        }
                        if (key == Keys.F8)
                        {
                            EditProperty("Show column values");
                        }
                    }
                    else if (SelectedEntity is MetaEnum)
                    {
                        if (key == Keys.F8)
                        {
                            EditProperty("Select SQL Statement");
                        }
                        if (key == Keys.F9)
                        {
                            ((MetaEnum)SelectedEntity).RefreshEnum();
                        }
                    }
                    else if (SelectedEntity is MetaJoin)
                    {
                        if (key == Keys.F7)
                        {
                            ((MetaJoin)SelectedEntity).CheckJoin();
                        }
                        if (key == Keys.F8)
                        {
                            EditProperty("SQL Clause");
                        }
                    }
                    else if (SelectedEntity is TasksFolder)
                    {
                        if (key == Keys.F7)
                        {
                            EditProperty("Tasks Script");
                        }
                    }
                    else if (SelectedEntity is ReportTask)
                    {
                        if (key == Keys.F7)
                        {
                            EditProperty("Script");
                        }
                        if (key == Keys.F8)
                        {
                            EditProperty("SQL Statement");
                        }
                    }
                    else if (SelectedEntity is ReportModel)
                    {
                        if (key == Keys.F7 || key == Keys.F8)
                        {
                            var frm = new SQLEditorForm();
                            frm.Instance     = SelectedEntity;
                            frm.PropertyName = "";

                            ReportModel model = SelectedEntity as ReportModel;
                            model.Report.CheckingExecution = true;
                            try
                            {
                                model.BuildSQL();
                                frm.SqlToCheck = model.Sql;
                                model.Report.CheckingExecution = false;
                                model.BuildSQL();
                            }
                            finally
                            {
                                model.Report.CheckingExecution = false;
                            }
                            if (!string.IsNullOrEmpty(model.ExecutionError))
                            {
                                throw new Exception("Error building the SQL Statement...\r\nPlease fix these errors first.\r\n" + model.ExecutionError);
                            }
                            frm.sqlTextBox.Text = model.Sql;
                            frm.SetReadOnly();
                            if (key == Keys.F8)
                            {
                                frm.checkSQL();
                            }
                            frm.ShowDialog();
                        }
                    }
                    else if (SelectedEntity is ReportView)
                    {
                        if (key == Keys.F7)
                        {
                            EditProperty("General Parameters");
                        }
                        else if (key == Keys.F8)
                        {
                            EditProperty("CSS");
                        }
                        else if (key == Keys.F9)
                        {
                            EditProperty("Data Table Configuration");
                        }
                        else if (key == Keys.F12)
                        {
                            EditProperty("NVD3 Chart Configuration");
                        }
                    }
                    else if (SelectedEntity is ReportSchedule)
                    {
                        if (key == Keys.F8)
                        {
                            EditProperty("Edit schedule properties");
                        }
                        if (key == Keys.F9)
                        {
                            EditProperty("Run Task Scheduler MMC");
                        }
                    }
                }
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
        /// <summary>
        /// 树参照
        /// </summary>
        /// <returns></returns>
        public IActionResult TreeReference(string fid, int isSearch = 0)
        {
            string refcondition = string.Empty;

            _platformDomain.ColumnSet.TryGetValue(fid, out FapColumn fc);
            //fc.RefCondition替换参数的值
            if (fc.RefCondition.IsPresent())
            {
                refcondition = fc.RefCondition;
                string fieldName = string.Empty;
                //
                Regex regex = new Regex(FapPlatformConstants.VariablePattern, RegexOptions.IgnoreCase);
                var   mat   = regex.Matches(fc.RefCondition);
                foreach (Match item in mat)
                {
                    fieldName    = item.ToString().Substring(2, item.ToString().Length - 3);
                    refcondition = refcondition.Replace(item.ToString(), Request.Query[fieldName].ToString(), StringComparison.OrdinalIgnoreCase);
                }
            }

            string icon = "icon-folder  ace-icon fa fa-folder blue";

            List <string> refCols = new List <string>();
            List <string> frmCols = new List <string>();
            //参照名称
            List <string> refRefCols = new List <string>();
            List <string> frmRefCols = new List <string>();
            List <string> refMcSqls  = new List <string>();

            if (fc.RefReturnMapping.IsPresent())
            {
                JArray arrMapping = JArray.Parse(fc.RefReturnMapping);
                foreach (JObject item in arrMapping)
                {
                    string refCol = item.GetStringValue("RefCol");
                    refCols.Add(refCol);
                    string frmCol = item.GetStringValue("FrmCol");
                    frmCols.Add(frmCol);
                    string refTable = fc.RefTable;
                    //针对参照列的特殊处理
                    var refColumn = _dbContext.Column(refTable, refCol);
                    var frmColumn = _dbContext.Column(fc.TableName, frmCol);
                    if (refColumn != null && frmColumn != null)
                    {
                        if (refColumn.CtrlType == FapColumn.CTRL_TYPE_REFERENCE && frmColumn.CtrlType == FapColumn.CTRL_TYPE_REFERENCE)
                        {
                            refMcSqls.Add($"(select {refColumn.RefName} from {refColumn.RefTable} where {refColumn.RefTable}.{refColumn.RefID}={refColumn.TableName}.{refColumn.ColName} ) as {refColumn.ColName}MC");

                            refRefCols.Add(refColumn.ColName + "MC");
                            frmRefCols.Add(frmColumn.ColName + "MC");
                        }
                    }
                }
            }
            List <TreeDataView> treeList = new List <TreeDataView>();

            //非部门参照
            if (!fc.RefTable.EqualsWithIgnoreCase("orgdept"))
            {
                string sql = string.Format("select {0} as Id,{1} as Text,Pid,'{2}' as Icon from {3} ", fc.RefID, fc.RefName, icon, fc.RefTable);
                if (refCols.Any())
                {
                    sql = $"select {fc.RefID} as Id,{fc.RefName} as Text,Pid,{ string.Join(",", refCols)},";
                    if (refMcSqls.Any())
                    {
                        sql += $"{ string.Join(",", refMcSqls)},";
                    }
                    sql += $"'{icon}' as Icon from { fc.RefTable}";
                }
                if (!string.IsNullOrWhiteSpace(fc.RefCondition))
                {
                    sql += " where " + refcondition;
                }
                var dataList = _dbContext.Query(sql);

                //将List<dynamic>转换成List<TreeDataView>

                foreach (var data in dataList)
                {
                    TreeDataView tdv = new TreeDataView()
                    {
                        Id = data.Id, Text = data.Text, State = new NodeState {
                            Opened = false
                        }, Pid = data.Pid, Icon = data.Icon
                    };
                    if (refCols.Count > 0)
                    {
                        IDictionary <string, object> d = data as IDictionary <string, object>;
                        List <string> refValues        = new List <string>();
                        foreach (var col in refCols)
                        {
                            refValues.Add(d[col] + "");
                        }
                        //参照列
                        if (refRefCols.Any())
                        {
                            foreach (var col in refRefCols)
                            {
                                refValues.Add(d[col] + "");
                            }
                        }
                        tdv.Data = new { ext = string.Join("^-^", refValues), selectable = true };
                    }
                    else
                    {
                        tdv.Data = new { ext = "", selectable = true };
                    }
                    treeList.Add(tdv);
                }
            }
            else
            {
                IEnumerable <OrgDept> powerDepts = _rbacService.GetDeptInfoAuthority(_applicationContext.CurrentRoleUid);
                if (powerDepts != null && powerDepts.Any())
                {
                    foreach (var data in powerDepts)
                    {
                        TreeDataView tdv = new TreeDataView()
                        {
                            Id = data.Fid, Text = data.DeptName, State = new NodeState {
                                Opened = false
                            }, Pid = data.Pid, Icon = icon
                        };
                        if (refCols.Count > 0)
                        {
                            List <string> refValues = new List <string>();
                            foreach (var col in refCols)
                            {
                                refValues.Add(data.GetType().GetProperty(col).GetValue(data, null) + "");
                            }
                            //参照列
                            if (refRefCols.Any())
                            {
                                foreach (var col in refRefCols)
                                {
                                    refValues.Add(data.GetType().GetProperty(col).GetValue(data, null) + "");
                                }
                            }

                            tdv.Data = new { ext = string.Join("^-^", refValues), selectable = !data.HasPartPower };
                            if (data.HasPartPower)
                            {
                                tdv.Icon = "icon-folder  ace-icon fa fa-ban orange";
                            }
                        }
                        else
                        {
                            tdv.Data = new { ext = "", selectable = !data.HasPartPower };
                        }
                        treeList.Add(tdv);
                    }
                }
            }

            List <TreeDataView> tree     = new List <TreeDataView>();
            TreeDataView        treeRoot = new TreeDataView()
            {
                Id    = "0",
                Text  = "请选择",
                State = new NodeState {
                    Opened = true
                },
                Icon = "icon-folder purple ace-icon fa 	fa-flag",
            };

            TreeViewHelper.MakeTree(treeRoot.Children, treeList, treeRoot.Id);
            tree.Add(treeRoot);

            string rej = tree.ToJsonIgnoreNullValue();

            //包含参照列
            if (refRefCols.Any())
            {
                refCols.AddRange(refRefCols);
                frmCols.AddRange(frmRefCols);
            }
            JsTreeViewModel treeModel = new JsTreeViewModel();

            if (isSearch == 1)
            {
                treeModel.IsMulti = true;
            }
            treeModel.CtrlName = fc.TableName + "-" + fc.ColName;
            treeModel.JsonData = rej;
            treeModel.TempData.Add("refid", fc.RefID);
            treeModel.TempData.Add("refcode", fc.RefCode);
            treeModel.TempData.Add("refname", fc.RefName);
            treeModel.TempData.Add("frmCols", string.Join(",", frmCols));
            treeModel.TempData.Add("refCols", string.Join(",", refCols));
            return(View(treeModel));
        }
Beispiel #8
0
 /// <summary>
 /// Reads the view state from the memento.
 /// </summary>
 public void ReadViewState(Properties memento)
 {
     TreeViewHelper.ApplyViewStateString(memento.Get("ProjectBrowserState", ""), treeView);
 }
        private TreeViewItem AddDatabaseToTreeView(KeyValuePair<string, DatabaseInfo> database)
        {
            var caption = database.Value.Caption;
            switch (database.Value.DatabaseType)
            {
                case DatabaseType.SQLCE35:
                    caption = caption + " (Compact 3.5)";
                    break;
                case DatabaseType.SQLCE40:
                    caption = caption + " (Compact 4.0)";
                    break;
                case DatabaseType.SQLServer:
                    caption = caption + " (SQL Server)";
                    break;
                case DatabaseType.SQLite:
                    caption = caption + " (SQLite)";
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }

            var databaseTreeViewItem = TreeViewHelper.CreateTreeViewItemWithImage(caption, "../Resources/database_16xLG.png", true);
            if (database.Value.FromServerExplorer == false)
            {
                databaseTreeViewItem = TreeViewHelper.CreateTreeViewItemWithImage(caption, "../Resources/database_16xLG_Own.png", true);
            }
            if (database.Value.FileIsMissing)
            {
                databaseTreeViewItem = TreeViewHelper.CreateTreeViewItemWithImage(caption, "../Resources/database_16xLG_Broken.png", true);
            }
            databaseTreeViewItem.ToolTip = database.Value.ConnectionString;

            if (database.Value.DatabaseType == DatabaseType.SQLServer)
            {
                databaseTreeViewItem.ContextMenu = new SqlServerDatabaseContextMenu(new DatabaseMenuCommandParameters
                {
                    ExplorerControl = this, DatabaseInfo = database.Value
                }, _parentWindow);
                databaseTreeViewItem.Items.Clear();
                return databaseTreeViewItem;
            }

            databaseTreeViewItem.ContextMenu = new DatabaseContextMenu(new DatabaseMenuCommandParameters
            {
                ExplorerControl = this, DatabaseInfo = database.Value
            }, _parentWindow);

            databaseTreeViewItem.Items.Clear();

            var tables = TreeViewHelper.CreateTreeViewItemWithImage("Tables", "../Resources/folder_Closed_16xLG.png", true);
            tables.ContextMenu = new TablesContextMenu(new DatabaseMenuCommandParameters
            {
                DatabaseInfo = database.Value, ExplorerControl = this
            }, _parentWindow);

            tables.Expanded += (sender, args) => new GetTableItemsHandler(GetTableItems).BeginInvoke(sender, args, database, null, null);
            databaseTreeViewItem.Items.Add(tables);

            if (database.Value.DatabaseType == DatabaseType.SQLCE35)
            {
                var subscriptions = TreeViewHelper.CreateTreeViewItemWithImage("Subscriptions", "../Resources/folder_Closed_16xLG.png", true);
                subscriptions.ContextMenu = new SubscriptionsContextMenu(new MenuCommandParameters
                {
                    MenuItemType = MenuType.Function, DatabaseInfo = database.Value
                }, _parentWindow);
                subscriptions.Expanded += (sender, args) => new GetSubsItemsHandler(GetSubscriptions).BeginInvoke(sender, args, database, null, null);
                databaseTreeViewItem.Items.Add(subscriptions);
            }

            if (database.Value.DatabaseType == DatabaseType.SQLCE35)
            {
                var scopes = TreeViewHelper.CreateTreeViewItemWithImage("Scopes", "../Resources/folder_Closed_16xLG.png", true);
                scopes.Expanded += (sender, args) => new GetScopesItemsHandler(GetScopes).BeginInvoke(sender, args, database, null, null);
                databaseTreeViewItem.Items.Add(scopes);
            }
            if (database.Value.DatabaseType == DatabaseType.SQLite)
            {
                var views = TreeViewHelper.CreateTreeViewItemWithImage("Views", "../Resources/folder_Closed_16xLG.png", true);
                views.Expanded += (sender, args) => new GetViewsItemsHandler(GetViews).BeginInvoke(sender, args, database, null, null);
                databaseTreeViewItem.Items.Add(views);

                var triggers = TreeViewHelper.CreateTreeViewItemWithImage("Triggers", "../Resources/folder_Closed_16xLG.png", true);
                triggers.Expanded += (sender, args) => new GetTriggersItemsHandler(GetTriggers).BeginInvoke(sender, args, database, null, null);
                databaseTreeViewItem.Items.Add(triggers);
            }
            return databaseTreeViewItem;
        }
        private void displayNavigator(XPathNodeIterator xpi)
        {
            if ((xpi != null) && (xpi.Count > 0))
            {
                for (bool hasNext = xpi.MoveNext(); hasNext; hasNext = xpi.MoveNext())
                {
                    // IXmlLineInfo lineInfo = xpi.Current as IXmlLineInfo;

                    switch (xpi.Current.NodeType)
                    {
                    case XPathNodeType.Text:
                    {
                        TreeViewItem node = new TreeViewItem();
                        node.Header     = xpi.Current.Value;
                        node.Foreground = Brushes.Brown;
                        node.ToolTip    = "(Nodeset/Text)";
                        _treeResult.Items.Add(node);
                        break;
                    }

                    case XPathNodeType.Attribute:
                    {
                        TreeViewItem node = new TreeViewItem();
                        node.Header     = "@" + xpi.Current.Name + ": " + xpi.Current.Value;
                        node.Foreground = Brushes.Brown;
                        node.ToolTip    = "(Nodeset/Attribute)";
                        node.Tag        = xpi.Current.Clone();
                        _treeResult.Items.Add(node);
                        break;
                    }

                    case XPathNodeType.Element:
                    {
                        var          document = new XSDocument(xpi.Current.OuterXml);
                        ViewerNode   vNode    = new ViewerNode(document);
                        TreeViewItem tvi      = TreeViewHelper.BuildTreeView(vNode);

                        //expand all to lazy-load all subitems
                        tvi.ExpandSubtree();
                        //now we can change the tags of all subitems
                        setTag(tvi, xpi.Current.Clone());
                        //collapse them again
                        var allChilds = tvi.AsDepthFirstEnumerable(
                            x => x.Items.Cast <TreeViewItem>());
                        foreach (TreeViewItem treeViewItem in allChilds)
                        {
                            treeViewItem.IsExpanded = false;
                        }

                        _treeResult.Items.Add(tvi);
                        break;
                    }
                    }
                    if (string.IsNullOrEmpty(_editorUserControl1.Text))
                    {
                        _editorUserControl1.Text = xpi.Current.OuterXml;
                    }
                    else
                    {
                        _editorUserControl1.Text = _editorUserControl1.Text + "\r\n" + xpi.Current.OuterXml;
                    }
                }
            }
            else
            {
                _treeResult.Items.Add("Nothing found.");
                _editorUserControl1.Text = "";
            }
        }
Beispiel #11
0
 /// <summary>
 /// Writes the current view state into the memento.
 /// </summary>
 public void StoreViewState(Properties memento)
 {
     memento.Set("ProjectBrowserState", TreeViewHelper.GetViewStateString(treeView));
 }
Beispiel #12
0
 private void fillTree()
 {
     TreeViewHelper.Fill(tvArticles, new string[] { "Id", "Name", "Category", "Price", "Stock" },
                         ArticleDAO.GetAll());
 }
Beispiel #13
0
 void initTreeView()
 {
     TreeViewHelper.InitCategoryTreeNode(elementTreeView.Nodes, Model.Source.MetaData.Tables);
     elementTreeView.TreeViewNodeSorter = new NodeSorter();
     elementTreeView.Sort();
 }
 private void tvRoleRightList_AfterCheck(object sender, TreeViewEventArgs e)
 {
     TreeViewHelper.CheckControl(e);
 }
 //清除所有选中
 private void btnClearSelect_Click(object sender, EventArgs e)
 {
     this.tvAllRightList.TopNode.Checked = false;
     TreeViewHelper.CheckControl(new TreeViewEventArgs(this.tvAllRightList.TopNode, TreeViewAction.ByMouse));
 }
        private void FillTableItems(KeyValuePair<string, DatabaseInfo> database, DatabaseTreeViewItem parentItem, Exception ex, RoutedEventArgs args)
        {
            if (ex != null)
            {
                var error = DataConnectionHelper.CreateEngineHelper(database.Value.DatabaseType).FormatError(ex);
                if (error.Contains("Minor Err.: 25028"))
                {
                    var pwd = new PasswordDialog();
                    pwd.ShowModal();
                    if (pwd.DialogResult.HasValue && pwd.DialogResult.Value && !string.IsNullOrWhiteSpace(pwd.Password))
                    {
                        database.Value.ConnectionString = database.Value.ConnectionString + ";Password="******"locale identifier")
                                    dbInfo.LCID = int.Parse(values.Value);
                                if (values.Key.ToLowerInvariant() == "encryption mode")
                                    dbInfo.EncryptionMode = values.Value;
                                if (string.IsNullOrWhiteSpace(dbInfo.EncryptionMode))
                                    dbInfo.EncryptionMode = "None";
                                if (values.Key.ToLowerInvariant() == "case sensitive")
                                    dbInfo.CaseSensitive = bool.Parse(values.Value);
                                if (values.Key == "DatabaseSize")
                                    dbInfo.Size = values.Value;
                                if (values.Key == "SpaceAvailable")
                                    dbInfo.SpaceAvailable = values.Value;
                                if (values.Key == "Created")
                                    dbInfo.Created = values.Value;
                                if (values.Key == "ServerVersion")
                                    dbInfo.ServerVersion = values.Value;
                            }
                            TrackSelection(dbInfo);
                        }
                    }
                    var tables = repository.GetAllTableNames();
                    var columns = repository.GetAllColumns();
                    var primaryKeys = repository.GetAllPrimaryKeys();
                    var foreignKeys = repository.GetAllForeignKeys();
                    var indexes = repository.GetAllIndexes();

                    foreach (var table in tables)
                    {
                        if (!Properties.Settings.Default.DisplayDescriptionTable && table.Equals("__ExtendedProperties"))
                        {
                            continue;
                        }
                        var item = TreeViewHelper.CreateTreeViewItemWithImage(table, "../Resources/table_16xLG.png", true);
                        item.ContextMenu = new TableContextMenu(new MenuCommandParameters {DatabaseInfo = database.Value, Name = table, MenuItemType = MenuType.Table}, _parentWindow);
                        item.ToolTip = table;
                        item.Tag = new TableInfo {Name = table, RowCount = repository.GetRowCount(table)};
                        if (DescriptionCache != null)
                        {
                            var desc = DescriptionCache.Where(dc => dc.Parent == null && dc.Object == table).Select(dc => dc.Description).SingleOrDefault();
                            if (!string.IsNullOrWhiteSpace(desc))
                            {
                                item.ToolTip = desc;
                            }
                        }

                        var tableColumns = (from col in columns where col.TableName == table select col).ToList();
                        var tablePrimaryKeys = primaryKeys.Where(pk => pk.TableName == table).ToList();
                        var tableForeignKeys = foreignKeys.Where(fk => fk.ConstraintTableName == table).ToList();
                        var tableIndexes = indexes.Where(i => i.TableName == table).ToList();
                        parentItem.Items.Add(item);
                        item.Expanded += (s, e) => GetTableColumns(s, e, tableColumns, tableForeignKeys, tablePrimaryKeys, tableIndexes, database);
                    }
                }
            }
            catch (Exception ex2)
            {
                DataConnectionHelper.SendError(ex2, database.Value.DatabaseType, false);
            }
        }
Beispiel #17
0
        void CreateProject()
        {
            if (categoryTreeView.SelectedNode != null)
            {
                PropertyService.Set("Dialogs.NewProjectDialog.LastSelectedCategory", TreeViewHelper.GetPath(categoryTreeView.SelectedNode));
                PropertyService.Set("Dialogs.NewProjectDialog.CategoryTreeState", TreeViewHelper.GetViewStateString(categoryTreeView));
                PropertyService.Set("Dialogs.NewProjectDialog.LargeImages", largeIconsRadioButton.Checked);
            }

            string solution         = solutionNameTextBox.Text.Trim();
            string name             = nameTextBox.Text.Trim();
            string location         = locationTextBox.Text.Trim();
            string projectNameError = CheckProjectName(solution, name, location);

            if (projectNameError != null)
            {
                MessageService.ShowError(projectNameError);
                return;
            }

            if (templateListView.SelectedItems.Count == 1 && locationTextBox.Text.Length > 0 && solutionNameTextBox.Text.Length > 0)
            {
                TemplateItem item = (TemplateItem)templateListView.SelectedItems[0];
                try {
                    System.IO.Directory.CreateDirectory(NewProjectDirectory);
                } catch (Exception) {
                    MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.NewProjectDialog.CantCreateDirectoryError}");
                    return;
                }

                ProjectTemplateOptions cinfo = new ProjectTemplateOptions();

                if (item.Template.SupportedTargetFrameworks.Any())
                {
                    cinfo.TargetFramework = (TargetFramework)targetFrameworkComboBox.SelectedItem;
                    PropertyService.Set("Dialogs.NewProjectDialog.TargetFramework", cinfo.TargetFramework.TargetFrameworkVersion);
                }

                cinfo.ProjectBasePath = DirectoryName.Create(NewProjectDirectory);
                cinfo.ProjectName     = name;

                if (createNewSolution)
                {
                    if (!SD.ProjectService.CloseSolution())
                    {
                        return;
                    }
                    result = item.Template.CreateAndOpenSolution(cinfo, NewSolutionDirectory, solution);
                }
                else
                {
                    cinfo.Solution       = SolutionFolder.ParentSolution;
                    cinfo.SolutionFolder = SolutionFolder;
                    result = item.Template.CreateProjects(cinfo);
                    cinfo.Solution.Save();
                }

                if (result != null)
                {
                    item.Template.RunOpenActions(result);
                }

                ProjectBrowserPad.RefreshViewAsync();
                DialogResult = DialogResult.OK;
            }
        }
        private static void GetTableColumns(object sender, RoutedEventArgs args, List<Column> columns, List<Constraint> fkList, List<PrimaryKey> pkList, List<Index> indexes, KeyValuePair<string, DatabaseInfo> database)
        {
            var viewItem = sender as DatabaseTreeViewItem;
            // Prevent loading again and again
            if (viewItem != null && (viewItem.Items.Count > 0 && viewItem.Items[0].ToString() == "Loading..."))
            {
                viewItem.Items.Clear();
                var tableName = viewItem.MetaData;


                var pks = (from pk in pkList select pk.ColumnName).ToList();

                foreach (var column in columns)
                {
                    var display = column.ShortType;
                    var image = "../Resources/column_16xLG.png";

                    var constraints = (from fk in fkList where fk.Columns.Contains(column.ColumnName) select fk);
                    if (constraints.Any())
                    {
                        display = "FK, " + display;
                        image = "../Resources/KeyDownFk_8461.png";
                    }
                    if (pks.Contains(column.ColumnName))
                    {
                        display = "PK, " + display;
                        image = "../Resources/KeyDown_8461.png";
                    }

                    string nullable = " not null)";
                    if (column.IsNullable == YesNoOption.YES)
                    {
                        nullable = " null)";
                    }
                    display = column.ColumnName + " (" + display + nullable;
                    var i = TreeViewHelper.CreateTreeViewItemWithImage(display, image, false);
                    if (database.Value.DatabaseType != DatabaseType.SQLite)
                        i.ContextMenu = new ColumnContextMenu(new MenuCommandParameters {Description = tableName, DatabaseInfo = database.Value, Name = column.ColumnName, MenuItemType = MenuType.Table}, _parentWindow);
                    i.ToolTip = column.ColumnName;
                    if (DescriptionCache != null)
                    {
                        var desc = DescriptionCache.Where(dc => dc.Parent == tableName && dc.Object == column.ColumnName).Select(dc => dc.Description).SingleOrDefault();
                        if (!string.IsNullOrWhiteSpace(desc))
                        {
                            i.ToolTip = desc;
                        }
                    }
                    viewItem.Items.Add(i);
                }

                var indexesItem = TreeViewHelper.CreateTreeViewItemWithImage("Indexes", "../Resources/folder_Closed_16xLG.png", true);

                indexesItem.Items.Clear();

                string oldName = string.Empty;
                foreach (var primaryKey in pkList)
                {
                    if (oldName != primaryKey.KeyName)
                    {
                        var display = primaryKey.KeyName + " (Primary Key)";
                        var indexItem = TreeViewHelper.CreateTreeViewItemWithImage(display, "../Resources/Index_8287_16x.png", false);
                        if (database.Value.DatabaseType != DatabaseType.SQLite)
                            indexItem.ContextMenu = new IndexContextMenu(new MenuCommandParameters {Description = primaryKey.KeyName, DatabaseInfo = database.Value, Name = viewItem.MetaData, MenuItemType = MenuType.Table}, _parentWindow);
                        indexItem.ToolTip = primaryKey.KeyName;
                        indexesItem.Items.Add(indexItem);
                        oldName = primaryKey.KeyName;
                    }
                }

                oldName = string.Empty;

                foreach (var index in indexes)
                {
                    if (oldName == index.IndexName) continue;
                    string display;
                    if (index.Unique)
                    {
                        display = index.IndexName + " (Unique)";
                    }
                    else
                    {
                        display = index.IndexName + " (Non-Unique)";
                    }
                    var indexItem = TreeViewHelper.CreateTreeViewItemWithImage(display, "../Resources/Index_8287_16x.png", false);
                    indexItem.ContextMenu = new IndexContextMenu(new MenuCommandParameters {Description = index.IndexName, DatabaseInfo = database.Value, Name = viewItem.MetaData, MenuItemType = MenuType.Table}, _parentWindow);
                    indexItem.ToolTip = index.IndexName;
                    indexesItem.Items.Add(indexItem);
                    oldName = index.IndexName;
                }
                viewItem.Items.Add(indexesItem);

                var keysItem = TreeViewHelper.CreateTreeViewItemWithImage("Keys", "../Resources/folder_Closed_16xLG.png", true);

                keysItem.Items.Clear();

                foreach (var primaryKey in pkList)
                {
                    if (oldName == primaryKey.KeyName) continue;
                    var display = primaryKey.KeyName;
                    var keyItem = TreeViewHelper.CreateTreeViewItemWithImage(display, "../Resources/KeyDown_8461.png", false);
                    if (database.Value.DatabaseType != DatabaseType.SQLite)
                        keyItem.ContextMenu = new KeyContextMenu(new MenuCommandParameters {Description = primaryKey.KeyName, DatabaseInfo = database.Value, Name = viewItem.MetaData, MenuItemType = MenuType.PK}, _parentWindow);
                    keyItem.ToolTip = primaryKey.KeyName;
                    keysItem.Items.Add(keyItem);
                    oldName = primaryKey.KeyName;
                }

                foreach (var fk in fkList)
                {
                    var display = fk.ConstraintName;
                    var keyItem = TreeViewHelper.CreateTreeViewItemWithImage(display, "../Resources/KeyDownFk_8461.png", false);
                    if (database.Value.DatabaseType != DatabaseType.SQLite)
                        keyItem.ContextMenu = new KeyContextMenu(new MenuCommandParameters {Description = fk.ConstraintName, DatabaseInfo = database.Value, Name = viewItem.MetaData, MenuItemType = MenuType.FK}, _parentWindow);
                    keyItem.ToolTip = fk.ConstraintName;
                    keysItem.Items.Add(keyItem);
                }

                viewItem.Items.Add(keysItem);
            }
            args.Handled = true;
        }
Beispiel #19
0
        private void OnRemoveItemClicked(object sender, System.Windows.RoutedEventArgs e)
        {
            var task = TreeViewHelper.GetTaskFromTreeViewItemTaskButton(sender as Control);

            ViewModel.RemoveTaskCommand.Execute(task);
        }
Beispiel #20
0
 private void rellenaVentana()
 {
     tabla = new Tablas ();
     combohelper = new ComboBoxHelper (App.Instance.DbConnection,this.miCombo,"articulo","id",0,"televisor");
     inf = new Informacion ();
     helper = new TreeViewHelper (inf.getTreviewTelevisor(), "select * from televisor");
     helper2 = new TreeViewHelper (inf.getTreviewComprador(), "select saldo from comprador");
     Show ();
 }
        public IActionResult TreeGridComponent(string fid, string multi)
        {
            FapComponent      fc    = _dbContext.Get <FapComponent>(fid);
            TreeGridViewModel model = new TreeGridViewModel();

            model.TreeGridId          = fid;
            model.IsMulti             = multi.ToBool();
            model.TreeFilterCondition = fc.TreeFilterCondition;
            model.TreeTitle           = fc.TreeTitle;
            model.GridTitle           = fc.GridTitle;
            #region 表
            QuerySet qs = new QuerySet();
            qs.TableName = fc.GridTableName;
            qs.QueryCols = fc.GridDisplayFields;
            qs.InitWhere = fc.TableCondition;

            model.GridModel = new JqGridViewModel
            {
                QuerySet = qs
            };
            model.TempData.Add("returnfields", fc.ReturnFields);

            #endregion

            #region 树
            //将List<dynamic>转换成List<TreeDataView>
            List <TreeDataView> treeList = new List <TreeDataView>();
            string icon = "icon-folder  ace-icon fa fa-folder blue";
            if (!fc.TreeTableName.EqualsWithIgnoreCase("orgdept"))
            {
                if (!string.IsNullOrWhiteSpace(fc.TreeNodeIcon))
                {
                    icon = fc.TreeNodeIcon;
                }
                string sql = string.Format("select Fid as Id,{0} as Text,Pid,'{1}' as Icon from {2} ", fc.TreeDisplayField, icon, fc.TreeTableName);
                if (!string.IsNullOrWhiteSpace(fc.TreeCondition))
                {
                    sql += " where " + fc.TreeCondition;
                }
                if (!string.IsNullOrWhiteSpace(fc.TreeOrder))
                {
                    sql += " order by " + fc.TreeOrder;
                }
                var dataList = _dbContext.Query(sql);


                foreach (var data in dataList)
                {
                    treeList.Add(new TreeDataView()
                    {
                        Id = data.Id, Text = data.Text, Pid = data.Pid, Icon = data.Icon, Data = new { selectable = true }
                    });
                }
            }
            else
            {
                IEnumerable <OrgDept> powerDepts = _rbacService.GetDeptInfoAuthority(_applicationContext.CurrentRoleUid);
                if (powerDepts != null && powerDepts.Any())
                {
                    foreach (var data in powerDepts)
                    {
                        TreeDataView tdv = new TreeDataView()
                        {
                            Id = data.Fid, Text = data.DeptName, State = new NodeState {
                                Opened = false
                            }, Pid = data.Pid, Icon = icon, Data = new { selectable = !data.HasPartPower }
                        };
                        if (data.HasPartPower)
                        {
                            tdv.Icon = "icon-folder  ace-icon fa fa-ban orange";
                        }
                        treeList.Add(tdv);
                    }
                }
            }
            List <TreeDataView> tree     = new List <TreeDataView>();
            TreeDataView        treeRoot = new TreeDataView()
            {
                Id    = "0",
                Text  = "请选择",
                State = new NodeState {
                    Opened = true
                },
                Icon = "icon-folder purple ace-icon fa 	fa-flag",
            };
            TreeViewHelper.MakeTree(treeRoot.Children, treeList, treeRoot.Id);
            tree.Add(treeRoot);

            string rej = tree.ToJsonIgnoreNullValue();
            model.JsonData = rej;
            #endregion


            return(View(model));
        }
Beispiel #22
0
 private void refresh(TreeView treeView,TreeViewHelper helper)
 {
     ListStore listStore=helper.ListStore;
     int fieldCountArticulo=helper.getFieldCount();
     for (int i=0;i<fieldCountArticulo;i++){//elimina columnas
         treeView.RemoveColumn(treeView.GetColumn(0));
     }
     listStore.Clear();
     listStore=helper.ListStore;
     helper.actualizar(helper.IDbCommand,listStore);
 }
Beispiel #23
0
        void OpenEvent(object sender, EventArgs e)
        {
            if (categoryTreeView.SelectedNode != null)
            {
                PropertyService.Set("Dialogs.NewProjectDialog.LastSelectedCategory", TreeViewHelper.GetPath(categoryTreeView.SelectedNode));
                PropertyService.Set("Dialogs.NewProjectDialog.CategoryTreeState", TreeViewHelper.GetViewStateString(categoryTreeView));
                PropertyService.Set("Dialogs.NewProjectDialog.LargeImages", largeIconsRadioButton.Checked);
            }


            string solution         = solutionNameTextBox.Text.Trim();
            string name             = nameTextBox.Text.Trim();
            string location         = locationTextBox.Text.Trim();
            string projectNameError = CheckProjectName(solution, name, location);

            if (projectNameError != null)
            {
                MessageService.ShowError(projectNameError);
                return;
            }

            if (templateListView.SelectedItems.Count == 1 && locationTextBox.Text.Length > 0 && solutionNameTextBox.Text.Length > 0)
            {
                TemplateItem item = (TemplateItem)templateListView.SelectedItems[0];
                try {
                    System.IO.Directory.CreateDirectory(NewProjectDirectory);
                } catch (Exception) {
                    MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.NewProjectDialog.CantCreateDirectoryError}");
                    return;
                }

                ProjectCreateInformation cinfo = new ProjectCreateInformation();
                if (!createNewSolution)
                {
                    cinfo.Solution     = ProjectService.OpenSolution;
                    cinfo.SolutionPath = Path.GetDirectoryName(cinfo.Solution.FileName);
                    cinfo.SolutionName = cinfo.Solution.Name;
                }
                else
                {
                    cinfo.SolutionPath = NewSolutionDirectory;
                }

                if (item.Template.HasSupportedTargetFrameworks)
                {
                    cinfo.TargetFramework = ((TargetFramework)targetFrameworkComboBox.SelectedItem).Name;
                    PropertyService.Set("Dialogs.NewProjectDialog.TargetFramework", cinfo.TargetFramework);
                }

                cinfo.ProjectBasePath = NewProjectDirectory;

                cinfo.SolutionName = solution;
                cinfo.ProjectName  = name;

                NewSolutionLocation = item.Template.CreateProject(cinfo);
                if (NewSolutionLocation == null || NewSolutionLocation.Length == 0)
                {
                    return;
                }
                if (createNewSolution)
                {
                    ProjectService.LoadSolution(NewSolutionLocation);
                }
                item.Template.RunOpenActions(cinfo);

                NewProjectLocation = cinfo.createdProjects.Count > 0 ? cinfo.createdProjects[0].FileName : "";
                DialogResult       = DialogResult.OK;
            }
        }
Beispiel #24
0
    private void fillTreeView()
    {
        QueryResult queryResult = PersisterHelper.Get("select * from articulo");

        TreeViewHelper.Fill(treeView, queryResult);
    }
Beispiel #25
0
 void selectNode(object entity)
 {
     TreeViewHelper.SelectNode(mainTreeView, mainTreeView.Nodes, entity);
 }
Beispiel #26
0
    //RELLENO DE TABLA (REFRESH)
    protected void fillTreeview()
    {
        QueryResult queryResult = PersisterHelp.Get("select * from articulo");

        TreeViewHelper.Fill(TreeView, queryResult);
    }
Beispiel #27
0
 protected void onClick(object sender, EventArgs e)
 {
     QueryResult queryResult = PersisterHelper.Get ("select * from articulo");
     TreeViewHelper treeViewHelper = new TreeViewHelper (treeViewArticulo,queryResult);
     treeViewHelper.refreshTreeView ();
 }
Beispiel #28
0
 private void tvPerson_AfterCheck(object sender, TreeViewEventArgs e)
 {
     TreeViewHelper.CheckControl(e);
 }
Beispiel #29
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();

        mySqlConnection = new MySqlConnection("Server=localhost;Database=dbprueba;User Id=root;Password=sistemas");
        mySqlConnection.Open ();

        string selectSql =
            "select a.id, a.nombre, c.nombre as categoria, a.precio " +
            "from articulo a left join categoria c " +
            "on a.categoria = c.id ";
        TreeViewHelper treeViewHelper = new TreeViewHelper(treeView, mySqlConnection, selectSql);

        ListStore listStore = treeViewHelper.ListStore;

        editAction.Sensitive = false;
        deleteAction.Sensitive = false;

        editAction.Activated += delegate {
            if (treeView.Selection.CountSelectedRows() == 0)
                return;
            TreeIter treeIter;
            treeView.Selection.GetSelected(out treeIter);
            object id = listStore.GetValue (treeIter, 0);
            object nombre = listStore.GetValue (treeIter, 1);

            MessageDialog messageDialog = new MessageDialog(this,
                DialogFlags.DestroyWithParent,
                MessageType.Info,
                ButtonsType.Ok,
                "Seleccionado Id={0} Nombre={1}", id, nombre);
            messageDialog.Title = "Este es el título del mensaje";
            messageDialog.Run ();
            messageDialog.Destroy ();
        };

        deleteAction.Activated += delegate {
            if (treeView.Selection.CountSelectedRows() == 0)
                return;
            TreeIter treeIter;
            treeView.Selection.GetSelected(out treeIter);
            object id = listStore.GetValue (treeIter, 0);

            MessageDialog messageDialog = new MessageDialog(this,
                DialogFlags.DestroyWithParent,
                MessageType.Question,
                ButtonsType.YesNo,
                "¿Quieres eliminar el elemento seleccionado?");
            messageDialog.Title = "Eliminar elemento";
            ResponseType response = (ResponseType)messageDialog.Run ();
            messageDialog.Destroy ();
            if (response == ResponseType.Yes ) {
                MySqlCommand deleteMySqlCommand = mySqlConnection.CreateCommand();
                deleteMySqlCommand.CommandText = "delete from articulo where id=" + id;
                deleteMySqlCommand.ExecuteNonQuery();
            }
        };

        treeView.Selection.Changed += delegate {
            bool hasSelectedRows = treeView.Selection.CountSelectedRows() > 0;
            editAction.Sensitive = hasSelectedRows;
            deleteAction.Sensitive = hasSelectedRows;
        };

        //treeView.Selection.CountSelectedRows()
        //		treeView.Selection.Changed += delegate {
        //			TreeIter treeIter;
        //			Console.WriteLine ("============");
        //			if (treeView.Selection.GetSelected (out treeIter)) {
        //				Console.WriteLine ("listStore.GetPath(treeIter)=" + listStore.GetPath(treeIter) );
        //				Console.WriteLine ("listStore.GetValue(treeIter, 0)=" + listStore.GetValue(treeIter, 0));
        //				Console.WriteLine ("listStore.GetValue(treeIter, 1)=" + listStore.GetValue(treeIter, 1));
        //			} else
        //				Console.WriteLine ("Ninguno seleccionado");
        //		};
    }
        private void UpdateTemplate()
        {
            var color = Helper.GetColorByOffset(_linearGradientBrush.GradientStops, SldTheme.Value / 7);

            TreeViewHelper.SetItemHeight(TvCustom, SldItemHeight.Value);


            if (TreeViewHelper.GetTreeViewStyle(TvCustom) == TreeViewStyle.Standard || TreeViewHelper.GetTreeViewStyle(TvCustom) == TreeViewStyle.Chain)
            {
                foreach (TreeViewItem item in TvCustom.Items)
                {
                    foreach (TreeViewItem itemx in item.Items)
                    {
                        itemx.Padding = new Thickness(0);
                    }
                }
            }
            else
            {
                foreach (TreeViewItem item in TvCustom.Items)
                {
                    foreach (TreeViewItem itemx in item.Items)
                    {
                        itemx.Padding = new Thickness(20, 0, 0, 0);
                    }
                }
            }

            switch (TreeViewHelper.GetTreeViewStyle(TvCustom))
            {
            case TreeViewStyle.Standard:
                TreeViewHelper.SetSelectedBrush(TvCustom, color.ToBrush());
                break;

            case TreeViewStyle.Classic:
                TreeViewHelper.SetSelectedBrush(TvCustom, new Color()
                {
                    A = 34, R = color.R, G = color.G, B = color.B
                }.ToBrush());
                break;

            case TreeViewStyle.Modern:
                TreeViewHelper.SetSelectedBrush(TvCustom, new Color()
                {
                    A = 34, R = color.R, G = color.G, B = color.B
                }.ToBrush());
                TvCustom.BorderBrush = color.ToBrush();
                break;

            case TreeViewStyle.Chain:
                TreeViewHelper.SetSelectedBrush(TvCustom, color.ToBrush());
                break;
            }
        }
Beispiel #31
0
    public MainWindow()
        : base(Gtk.WindowType.Toplevel)
    {
        Build ();
        mySqlConnection.Open();

        String selectSql="select * from articulo";
        TreeViewHelper treeViewHelper=new TreeViewHelper(treeView,mySqlConnection,selectSql);
        ListStore listStore=treeViewHelper.ListStore;
        editAction.Sensitive =false;
        removeAction.Sensitive=false;

        TreeIter iter;

        treeView.Selection.Changed += delegate{

         			bool isSelected =treeView.Selection.GetSelected(out iter);//true si hay algo seleccionado
            //Console.WriteLine(listStore.GetPath(iter)); //devuelve la fila que selecciono
            if(isSelected){
                editAction.Sensitive =true;
                removeAction.Sensitive=true;

            }
            else{
                editAction.Sensitive =false;
                removeAction.Sensitive=false;
            }
        };
        editAction.Activated +=delegate{
                    if(treeView.Selection.CountSelectedRows() == 0)//igual a 0 si no hay nada seleccionado
                        return;
                    string op=listStore.GetValue(iter,1).ToString();//tambien podriamos haberlo hecho con object
                    MessageDialog md = new MessageDialog
                        (this, DialogFlags.Modal, MessageType.Info, ButtonsType.Close,op);
                    md.Run();
                    md.Destroy();
                //Console.WriteLine(listStore.GetValue(iter,1));
                };
            removeAction.Activated +=delegate{
            string nombre=listStore.GetValue(iter,1).ToString();
            MessageDialog md2 = new MessageDialog
                        (this, DialogFlags.Modal, MessageType.Warning, ButtonsType.YesNo,"¿Seguro que quieres borrarlo? \n Borrar: "+nombre);

            ResponseType result = (ResponseType)md2.Run ();
            string op=listStore.GetValue(iter,0).ToString();

            if (result == ResponseType.Yes){
                MySqlCommand delete=mySqlConnection.CreateCommand();
                delete.CommandText= "Delete from articulo where id="+op+"";
                delete.ExecuteNonQuery();
                md2.Destroy();
                int fieldcount=treeViewHelper.getFieldCount();
                for (int i=0;i<fieldcount;i++){//elimina columnas
                    treeView.RemoveColumn(treeView.GetColumn(0));

                }
            listStore.Clear();//vacia el modelo
                //volvemos a mostrar treview actualizado
            treeViewHelper.actualizar(treeViewHelper.IDbCommand,listStore);

            }
            else{
                md2.Destroy();

            }
        };
    }
Beispiel #32
0
        /// <summary>
        /// 每个时常都是一样的,暂定200
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AyTreeViewItemExpanded(object sender, RoutedEventArgs e)
        {
            TreeViewItem tvi = e.OriginalSource as TreeViewItem;

            if (tvi != null && tvi.Items.Count > 0)
            {
                int    executeTime  = 0;//执行time误差
                int    durationTime = 300;
                double targetHeight = 0;
                int    expandNode   = 0;
                //添加动画
                foreach (var item in tvi.Items)
                {
                    AyTreeViewItemModel temp = item as AyTreeViewItemModel;
                    temp.ParentCategory.IsExpanded = true;

                    if (temp.RelativeItem == null)
                    {
                        temp.RelativeItem = TreeViewHelper.GetTreeViewItem2(tvi, temp);
                    }
                    expandNode += GetTreeViewItemCount(temp);


                    if (temp.RelativeItem != null)
                    {
                        temp.RelativeItem.Opacity = 0;
                    }
                }

                targetHeight += (TreeViewItemHeight + 2) * expandNode;//计算当前展开的有多少个item

                //set itemhost的高度
                var itemhost = WpfTreeHelper.GetChildObject <ItemsPresenter>(tvi, "ItemsHost");
                if (itemhost != null)
                {
                    itemhost.Visibility = Visibility.Visible;
                    DoubleAnimationUsingKeyFrames HeightKey = new DoubleAnimationUsingKeyFrames();

                    HeightKey.FillBehavior = FillBehavior.Stop;
                    EasingDoubleKeyFrame HeightKey0 = new EasingDoubleKeyFrame(0, KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(0)));
                    EasingDoubleKeyFrame HeightKey1 = new EasingDoubleKeyFrame(targetHeight, KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(ExpandedTime)), easyOut);
                    HeightKey.KeyFrames.Add(HeightKey0);
                    HeightKey.KeyFrames.Add(HeightKey1);
                    itemhost.BeginAnimation(ItemsPresenter.HeightProperty, null);
                    itemhost.BeginAnimation(ItemsPresenter.HeightProperty, HeightKey);
                }

                int index    = 0;
                int endIndex = tvi.Items.Count;
                //添加动画
                foreach (var item in tvi.Items)
                {
                    AyTreeViewItemModel temp = item as AyTreeViewItemModel;
                    if (temp.RelativeItem != null)
                    {
                        index++;
                        DoubleAnimationUsingKeyFrames OpacityKey   = new DoubleAnimationUsingKeyFrames();
                        EasingDoubleKeyFrame          opacityKey10 = new EasingDoubleKeyFrame(0, KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(0)));
                        EasingDoubleKeyFrame          opacityKey0  = new EasingDoubleKeyFrame(0, KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(executeTime)));
                        EasingDoubleKeyFrame          opacityKey1  = new EasingDoubleKeyFrame(1, KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(executeTime + durationTime)));
                        opacityKey1.EasingFunction = easyIn;
                        OpacityKey.KeyFrames.Add(opacityKey0);
                        OpacityKey.KeyFrames.Add(opacityKey1);

                        ThicknessAnimationUsingKeyFrames MarginKey = new ThicknessAnimationUsingKeyFrames();

                        var tempThickness = GetTargetThickness(temp.Depth);

                        MarginKey.KeyFrames.Add(new EasingThicknessKeyFrame(new Thickness(0, 0, 0, 0), KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(0))));
                        MarginKey.KeyFrames.Add(new EasingThicknessKeyFrame(new Thickness(0, 0, 0, 0), KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(executeTime))));
                        MarginKey.KeyFrames.Add(new EasingThicknessKeyFrame(tempThickness, KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(executeTime + durationTime))));
                        opacityKey1.EasingFunction = easyIn;

                        temp.RelativeItem.BeginAnimation(TreeViewItem.OpacityProperty, null);
                        temp.RelativeItem.BeginAnimation(TreeViewItem.OpacityProperty, OpacityKey);
                        temp.RelativeItem.BeginAnimation(TreeViewItem.PaddingProperty, null);
                        temp.RelativeItem.BeginAnimation(TreeViewItem.PaddingProperty, MarginKey);
                        OpacityKey   = null;
                        MarginKey    = null;
                        executeTime += 44;
                        if (endIndex == index)
                        {
                            temp.RelativeItem.BringIntoView();
                        }
                    }
                }
                executeTime = 0;
            }
            e.Handled = true;
        }