static void Binder() { LDControls.ListBoxContent(XListBox, XColumns.ToPrimitiveArray()); LDControls.ListBoxContent(SchemaListBox, Schema.ToPrimitiveArray()); LDControls.ListBoxContent(YListBox, YColumns.ToPrimitiveArray()); List <string> Columns = new List <string>(); Columns.AddRange(XColumns); Columns.AddRange(YColumns); Shapes.SetText(Inequality, $"{chart.MinColumns}≤{Columns.Count}≤{chart.MaxColumns}"); for (int i = 1; i <= LDControls.DataViewRowCount(DataView); i++) { string CurrentColumn = LDControls.DataViewGetValue(DataView, i, 1); if (Columns.Contains(CurrentColumn) == false) { LDControls.DataViewDeleteRow(DataView, i); } else { Columns.Remove(CurrentColumn); } } for (int i = 0; i < Columns.Count; i++) { LDControls.DataViewSetRow(DataView, LDControls.DataViewRowCount(DataView) + 1, string.Format("1={0};2=Text;", Columns[i])); } }
public static void CreateTableHandler() { int StackPointer = Stack.Add("UI.CreateTableHandler()"); string LastButton = Controls.LastClickedButton; string Name = Controls.GetTextBoxText(_TextBox["Table_Name"]); if (LastButton == _Buttons["Commit"]) { if (!string.IsNullOrWhiteSpace(Name)) { Name = Name.Replace("[", "").Replace("]", "").Replace("\"", ""); int Max = LDControls.DataViewRowCount(GlobalStatic.Dataview); StringBuilder Define_SQL = new StringBuilder(); Define_SQL.Append("CREATE TABLE \"" + Name + "\"("); for (int i = 1; i <= Max; i++) { Primitive _Data = LDControls.DataViewGetRow(GlobalStatic.Dataview, i); if (!string.IsNullOrWhiteSpace(_Data[1])) { if (_Data[4] == true) { _Data[3] = true; } string Field = ((string)_Data[1]).Replace("[", "").Replace("]", "").Replace("\"", ""); Define_SQL.AppendFormat("\"{0}\" {1}", Field, (string)_Data[2]); if (_Data[6] == true) { Define_SQL.Append(" NOT NULL"); } if (_Data[3] == true) { Define_SQL.Append(" PRIMARY KEY"); } if (_Data[4] == true) { Define_SQL.Append(" AUTOINCREMENT"); } if (_Data[5] == true) { Define_SQL.Append(" UNIQUE"); } if (i != Max) { Define_SQL.Append(","); } else { Define_SQL.Append(");"); } } } if (!string.IsNullOrWhiteSpace(Engines.CurrentDatabase)) { string Confirmation = LDDialogs.Confirm("Do you wish to commit the following SQL:\n" + Define_SQL.ToString() + "\n to " + Engines.DB_ShortName[Engines.DB_Name.IndexOf(Engines.CurrentDatabase)], "Commit SQL"); if (Confirmation == "Yes") { Engines.CommandSettings CS = new Engines.CommandSettings() { Database = Engines.CurrentDatabase, SQL = Define_SQL.ToString(), User = GlobalStatic.UserName, Explanation = "User Defining a Table" //Localize }; Engines.Command(CS); } } } else { GraphicsWindow.ShowMessage("Table Name is not empty, please fill it!", "NAME"); } Stack.Exit(StackPointer); return; } if (LastButton == _Buttons["Exit"]) { Controls.ButtonClicked -= CreateTableHandler; Controls.ButtonClicked += Events.BC; ClearWindow(); DisplayResults(); ShowDisplayResults(); MainMenu(); //Events.MC("View"); Stack.Exit(StackPointer); return; } Stack.Exit(StackPointer); }
static void Handler() { string LastListBox = LDControls.LastListBox; string LCB = Controls.LastClickedButton; int Node = LDControls.ListBoxGetSelected(LastListBox) - 1; List <string> CurrentList = null; string Item = null; if (LastListBox == SchemaListBox) { CurrentList = Schema; } else if (LastListBox == XListBox) { CurrentList = XColumns; } else if (LastListBox == YListBox) { CurrentList = YColumns; } if (Node >= 0) { Item = CurrentList[Node]; } if (LCB == GenerateChartButton) { List <string> Columns = new List <string>(); Columns.AddRange(XColumns); Columns.AddRange(YColumns); Dictionary <string, string> Types = new Dictionary <string, string>(); for (int i = 1; i <= LDControls.DataViewRowCount(DataView); i++) { Types.Add(LDControls.DataViewGetValue(DataView, i, 1), LDControls.DataViewGetValue(DataView, i, 2)); } Engines.QuerySettings QS = new Engines.QuerySettings { Database = Engines.CurrentDatabase, SQL = Engines.NonSchemaQuery.Last(), FetchRecords = true, User = GlobalStatic.UserName, Explanation = "Generating Chart" //TODO Localize }; GenerateChart(Columns, Types, Engines.Query(QS)); Clear(); GraphicsWindow.ShowMessage("Exported Chart!", "Success"); } else if (LCB == Escape) { Clear(); } else if (CurrentList?.Count >= Node) { try { if (LCB == Left1) { Schema.RemoveAt(Node); XColumns.Add(Item); } else if (LCB == Right1) { XColumns.RemoveAt(Node); Schema.Add(Item); } else if (LCB == Left2) { YColumns.RemoveAt(Node); Schema.Add(Item); } else if (LCB == Right2) { Schema.RemoveAt(Node); YColumns.Add(Item); } } catch (ArgumentOutOfRangeException ex) { Events.LogMessage(ex.Message, Language.Localization["System"]); } } if (LCB != Escape) { Binder(); AutoHide(); } }