예제 #1
0
        private void csvExporter_DoWork(object sender, DoWorkEventArgs e)
        {
            string filename = (string)e.Argument;

            int            pp = 0;
            ListViewWorker lw = new ListViewWorker();

            foreach (ListView resultView in listViewExports)
            {
                resultView.Columns.Add("Group");

                for (int ai = 0; ai < resultView.Items.Count; ai++)
                {
                    resultView.Items[ai].SubItems.Add(listLabelExports[pp]);
                }

                if (pp == 0)
                {
                    string firstCsv = lw.exportCsv(resultView, true);
                    System.IO.File.WriteAllText(filename, firstCsv);
                }
                else
                {
                    string nextCsv = lw.exportCsv(resultView, false);
                    System.IO.File.AppendAllText(filename, nextCsv);
                }

                pp++;
            }
        }
예제 #2
0
 public void setListView(ListView list)
 {
     if (list != null)
     {
         ListViewWorker Worker = new ListViewWorker();
         Worker.copyListView(list, this.listView);
     }
 }
예제 #3
0
 public void fillUpListView(string onJoin, ListView list)
 {
     if (list != null)
     {
         ListViewWorker Worker = new ListViewWorker();
         Worker.fillListView(onJoin, list, this.listView);
     }
 }
예제 #4
0
 public void joinListView(string onJoin, ListView list)
 {
     if (list != null)
     {
         ListViewWorker Worker = new ListViewWorker();
         Worker.mergeListView(onJoin, list, this.listView);
     }
 }
예제 #5
0
        public ListView getListView()
        {
            ListView       list   = new ListView();
            ListViewWorker Worker = new ListViewWorker();

            Worker.copyListView(this.listView, list);
            return(list);
        }
예제 #6
0
 public string getSelectedRowEntry(string entry)
 {
     if (listView.SelectedItems.Count == 1)
     {
         ListViewWorker Worker = new ListViewWorker();
         return(Worker.getEntry(listView, entry, listView.SelectedIndices[0]));
     }
     return("");
 }
예제 #7
0
        private void exportCsvToFile(string filename)
        {
            ListViewWorker Worker = new ListViewWorker();

            this.setStatusMsg("Exporting to " + filename + " please wait");
            string csvContent = Worker.exportCsv(this.listView);

            System.IO.File.WriteAllText(filename, csvContent);
            resetlabel();
        }
예제 #8
0
        private ListView buildSumList()
        {
            int pp = 0;

            ListView sumerizeListView = new ListView();

            ListViewWorker lw = new ListViewWorker();

            foreach (ListView resultView in listViewExports)
            {
                resultView.Columns.Add("Group");
                statusLabel.Text = "writing group no.: " + pp;
                statusLabel.Invalidate();
                Application.DoEvents();

                for (int ai = 0; ai < resultView.Items.Count; ai++)
                {
                    resultView.Items[ai].SubItems.Add(listLabelExports[pp]);
                }

                if (sumerizeListView.Columns.Count == 0)
                {
                    lw.copyListView(resultView, sumerizeListView);
                }
                else
                {
                    lw.addListView(resultView, sumerizeListView, 0, 0);
                }



                statusLabel.Text = "writing group no.: " + pp;
                statusLabel.Invalidate();
                Application.DoEvents();
                for (int ai = 0; ai < resultView.Items.Count; ai++)
                {
                    resultView.Items[ai].SubItems.Add(listLabelExports[pp]);
                }



                pp++;
            }
            statusLabel.Text = "build done ";
            return(sumerizeListView);
        }
예제 #9
0
        public ListView getResultAsListView()
        {
            ListView resultView = buildSumList();

            resultView.View = View.Details;

            resultView.Width       = MainView.Width - 60;
            resultView.Height      = MainView.Width;
            resultView.Left        = 10;
            resultView.Top         = 30;
            resultView.AutoArrange = true;

            resultView.FullRowSelect = true;

            resultView.GridLines = true;
            ListView       CopyThat = new ListView();
            ListViewWorker Worker   = new ListViewWorker();

            Worker.copyListView(resultView, CopyThat);
            //return resultView;
            return(CopyThat);
        }
예제 #10
0
        private void exportCsvFiles(string filename)
        {
            int            pp = 0;
            ListViewWorker lw = new ListViewWorker();

            if (listViewExports == null)
            {
                MessageBox.Show("No Data to export. Make sure youre Query is executed", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            foreach (ListView resultView in listViewExports)
            {
                resultView.Columns.Add("Group");
                statusLabel.Text = "writing group no.: " + pp;
                onStatusChange("csv ... write group no.: " + pp + "  " + filename);
                statusLabel.Invalidate();
                Application.DoEvents();
                for (int ai = 0; ai < resultView.Items.Count; ai++)
                {
                    resultView.Items[ai].SubItems.Add(listLabelExports[pp]);
                }

                if (pp == 0)
                {
                    string firstCsv = lw.exportCsv(resultView, true);
                    System.IO.File.WriteAllText(filename, firstCsv);
                }
                else
                {
                    string nextCsv = lw.exportCsv(resultView, false);
                    System.IO.File.AppendAllText(filename, nextCsv);
                }

                pp++;
            }
            statusLabel.Text = "writing DONE (" + filename + ") ";
        }
예제 #11
0
        private void fireSql(Profil dbProfil, string sql)
        {
            MysqlHandler database = new MysqlHandler(dbProfil);

            database.connect();

            if (database.isConnected())
            {
                ListViewWorker listTool  = new ListViewWorker();
                GroupBox       instGroup = new GroupBox();
                instGroup.Width     = MainView.Width - 30;
                instGroup.BackColor = SystemColors.Info;
                //instGroup.Height = 350;
                instGroup.Text     = currentProfileName;
                instGroup.AutoSize = true;

                Label infoData = new Label();
                infoData.AutoSize = true;
                infoData.Text     = dbProfil.getProperty("db_username") + "@" + dbProfil.getProperty("db_host") + "/" + dbProfil.getProperty("db_schema");
                infoData.Top      = 15;
                infoData.Left     = 15;

                ListView resultView = new ListView();
                resultView.View = View.Details;

                resultView.Width  = MainView.Width - 60;
                resultView.Height = 300;
                resultView.Left   = 10;
                resultView.Top    = 30;

                resultView.FullRowSelect = true;

                resultView.GridLines = true;

                MySql.Data.MySqlClient.MySqlDataReader dbResult = database.sql_select(sql);

                if (database.lastSqlErrorMessage != "")
                {
                    Label noData = new Label();
                    noData.Top      = 30;
                    noData.Left     = 15;
                    noData.Text     = database.lastSqlErrorMessage;
                    noData.AutoSize = true;
                    noData.Font     = new Font("Courier New", 10, FontStyle.Bold);
                    instGroup.Controls.Add(noData);
                    instGroup.Controls.Add(infoData);
                    instGroup.Height    = 60;
                    instGroup.BackColor = Color.LightPink;
                }
                else
                {
                    if (dbResult != null && dbResult.HasRows)
                    {
                        database.sql_data2ListView(dbResult, resultView);
                        for (int i = 0; i < resultView.Columns.Count; i++)
                        {
                            resultView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
                        }
                        listTool.setRowColors(resultView, Color.LightBlue, Color.LightGreen);

                        resultView.Height = (resultView.Items.Count * 13) + 50;
                        if (resultView.Height > 700)
                        {
                            resultView.Height = 700;
                        }

                        listLabelExports.Add(instGroup.Text);
                        listViewExports.Add(resultView);
                        instGroup.Controls.Add(resultView);
                        instGroup.Controls.Add(infoData);
                    }
                    else
                    {
                        Label noData = new Label();
                        noData.Top      = 30;
                        noData.Left     = 15;
                        noData.Text     = "No Result for this query ";
                        noData.AutoSize = true;
                        instGroup.Controls.Add(noData);
                        instGroup.Height    = 60;
                        instGroup.BackColor = Color.LightYellow;
                        instGroup.Controls.Add(infoData);
                    }
                }



                MainView.Controls.Add(instGroup);
                MainView.Refresh();
            }


            database.disConnect();
        }
예제 #12
0
        //ProgressChangedEventArgs
        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            if (e.UserState != null)
            {
                asyncSql bgWorkerObj = (asyncSql)e.UserState;
                Profil   dbProfil    = bgWorkerObj.dbProfil;
                string   sql         = bgWorkerObj.sql;


                ListViewWorker listTool  = new ListViewWorker();
                GroupBox       instGroup = new GroupBox();
                instGroup.Width     = MainView.Width - 30;
                instGroup.BackColor = SystemColors.Info;

                currentProfileName = dbProfil.getName();
                instGroup.Text     = dbProfil.getName();
                instGroup.AutoSize = true;

                Label infoData = new Label();
                infoData.AutoSize = true;
                infoData.Text     = dbProfil.getProperty("db_username") + "@" + dbProfil.getProperty("db_host") + "/" + dbProfil.getProperty("db_schema");
                infoData.Top      = 15;
                infoData.Left     = 15;

                ListView resultView = bgWorkerObj.resultListView;

                resultView.View = View.Details;

                resultView.Width  = MainView.Width - 60;
                resultView.Height = 300;
                resultView.Left   = 10;
                resultView.Top    = 30;

                resultView.FullRowSelect = true;

                resultView.GridLines = true;

                if (bgWorkerObj.lastError != "")
                {
                    Label noData = new Label();
                    noData.Top      = 30;
                    noData.Left     = 15;
                    noData.Text     = bgWorkerObj.lastError;
                    noData.AutoSize = true;
                    noData.Font     = new Font("Courier New", 10, FontStyle.Bold);
                    instGroup.Controls.Add(noData);
                    instGroup.Controls.Add(infoData);
                    instGroup.Height    = 60;
                    instGroup.BackColor = Color.LightPink;
                    this.onStatusChange("Error on " + infoData.Text);
                }
                else
                {
                    if (bgWorkerObj.haseRows)
                    {
                        for (int i = 0; i < resultView.Columns.Count; i++)
                        {
                            resultView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
                        }
                        listTool.setRowColors(resultView, Color.LightBlue, Color.LightGreen);

                        resultView.Height = (resultView.Items.Count * 13) + 50;
                        if (resultView.Height > 700)
                        {
                            resultView.Height = 700;
                        }

                        listLabelExports.Add(instGroup.Text);
                        listViewExports.Add(resultView);
                        instGroup.Controls.Add(resultView);
                        instGroup.Controls.Add(infoData);

                        this.onStatusChange(resultView.Items.Count + " rows from " + infoData.Text);
                    }
                    else
                    {
                        Label noData = new Label();
                        noData.Top      = 30;
                        noData.Left     = 15;
                        noData.Text     = "No Result for this query ";
                        noData.AutoSize = true;
                        instGroup.Controls.Add(noData);
                        instGroup.Height    = 60;
                        instGroup.BackColor = Color.LightYellow;
                        instGroup.Controls.Add(infoData);

                        this.onStatusChange(" no rows reported from " + infoData.Text);
                    }
                }



                MainView.Controls.Add(instGroup);
                MainView.Refresh();
                Application.DoEvents();
            }
        }
예제 #13
0
        public string getEntry(string entry, int rownumber)
        {
            ListViewWorker Worker = new ListViewWorker();

            return(Worker.getEntry(listView, entry, rownumber));
        }