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); }
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); } }; }
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 (); */ }
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; } }
protected void fill() { QueryResult queryResult1 = PersisterHelper.Get("select * from categoria"); TreeViewHelper.Fill(treeView, queryResult1); }
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)); }
/// <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 = ""; } }
/// <summary> /// Writes the current view state into the memento. /// </summary> public void StoreViewState(Properties memento) { memento.Set("ProjectBrowserState", TreeViewHelper.GetViewStateString(treeView)); }
private void fillTree() { TreeViewHelper.Fill(tvArticles, new string[] { "Id", "Name", "Category", "Price", "Stock" }, ArticleDAO.GetAll()); }
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); } }
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; }
private void OnRemoveItemClicked(object sender, System.Windows.RoutedEventArgs e) { var task = TreeViewHelper.GetTaskFromTreeViewItemTaskButton(sender as Control); ViewModel.RemoveTaskCommand.Execute(task); }
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)); }
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); }
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; } }
private void fillTreeView() { QueryResult queryResult = PersisterHelper.Get("select * from articulo"); TreeViewHelper.Fill(treeView, queryResult); }
void selectNode(object entity) { TreeViewHelper.SelectNode(mainTreeView, mainTreeView.Nodes, entity); }
//RELLENO DE TABLA (REFRESH) protected void fillTreeview() { QueryResult queryResult = PersisterHelp.Get("select * from articulo"); TreeViewHelper.Fill(TreeView, queryResult); }
protected void onClick(object sender, EventArgs e) { QueryResult queryResult = PersisterHelper.Get ("select * from articulo"); TreeViewHelper treeViewHelper = new TreeViewHelper (treeViewArticulo,queryResult); treeViewHelper.refreshTreeView (); }
private void tvPerson_AfterCheck(object sender, TreeViewEventArgs e) { TreeViewHelper.CheckControl(e); }
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; } }
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(); } }; }
/// <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; }