예제 #1
8
 public static bool isRowDisplayed(DataGridView varControl, int index)
 {
     bool foo = false;
     if (varControl.InvokeRequired)
     {
         varControl.Invoke((MethodInvoker)delegate
         {
             foo = varControl.Rows[index].Displayed;
         });
         return foo;
     }
     else
     {
         return varControl.Rows[index].Displayed;
     }
 }
예제 #2
0
        protected static DataTable BindObjectList(DataGridView dataGridView, IEnumerable list)
        {
            DataTable table = null;

              foreach (var obj in list)
              {
            if (table == null)
            {
              table = CreateObjectFiledTable(obj);
            }

            DataRow row = ConvertObjectToRow(table, obj);

            table.Rows.Add(row);
              }

              if (dataGridView != null)
              {
            dataGridView.Invoke(new Action(() =>
            {
              dataGridView.AutoGenerateColumns = true;
              dataGridView.DataSource = table;
            }));
              }

              return table;
        }
예제 #3
0
 private void AddGridItemInvoke(DataGridView dataGridView, IPAddressGridItem item)
 {
     if (dataGridView.InvokeRequired)
     {
         dataGridView.Invoke(new AddDataGridViewItemDelegate(AddDataGridViewItem), dataGridView, item);
     }
     else
     {
         AddDataGridViewItem(dataGridView, item);
     }
 }
예제 #4
0
        public static void AddRow(System.Windows.Forms.DataGridView ctrl, string tagID, string location, string evnt, DateTime dateTime)
        {
            if (ctrl.InvokeRequired)
            {
                object[] params_list = new object[] { ctrl, tagID, location, evnt, dateTime };

                ctrl.Invoke(new AddRowDelegate(AddRow), params_list);
            }

            else
            {
                char[] p = { ',' };
                ctrl.Rows.Insert(0, tagID, location, evnt, dateTime);
                //ctrl.Rows.Add();
            }
        }
예제 #5
0
        public void DisplayTable(DataGridView dgrid)
        {
            var provider = dgrid.DataSource as DataTable;
            if (provider.Columns["StopLVL"] == null)
            {
                 provider.Columns.Add(new DataColumn("StopLVL"));
                 provider.Columns.Add(new DataColumn("RevLVL"));
                 provider.Columns.Add(new DataColumn("ZIM"));
                provider.Columns[5].ReadOnly = true;
                provider.Columns[6].ReadOnly = true;
                provider.Columns[7].ReadOnly = true;
            }

            string entrieTrSum = FormatNumber(Math.Round(Strategyperformance.EntireTradesSum, 2));
            string profitTrSum = FormatNumber(Math.Round(Strategyperformance.ProfitTradesSum, 2));
            string losTrSum = FormatNumber(Math.Round(Strategyperformance.LossTradesSum, 2));
            string avgTr = FormatNumber(Math.Round(Strategyperformance.AverageTrade, 2));

            var values = new ArrayList
                             {
                                 Symbol,
                                 MinDt.ToString(DateFormatsManager.CurrentShortDateFormat + " HH:mm:ss"),
                                 MaxDt.ToString(DateFormatsManager.CurrentShortDateFormat + " HH:mm:ss"),
                                 entrieTrSum,
                                 //profitTrSum, //String.Format("{0:0 000.00}",Math.Round(Strategyperformance.ProfitTradesSum, 2)),
                                 //losTrSum, //String.Format("{0:0 000.00}", Math.Round(Strategyperformance.LossTradesSum, 2)),
                                 //Math.Round(Strategyperformance.Profitability, 2),
                                 //Math.Round(Strategyperformance.ProfitFactor, 2),
                                 //avgTr, //String.Format("{0:0 000.00}",Math.Round(Strategyperformance.AverageTrade, 4)),
                                 //Strategyperformance.EntireTradesCount,
                                 //Strategyperformance.ProfitTradesCount,
                                 //Strategyperformance.LossTradesCount,
                                 Strategyperformance.Reversals,
                                 Strategy.AdditionalParameters[7].Value,
                                 Strategy.AdditionalParameters[8].Value,
                                 Strategy.AdditionalParameters[5].Value
                             };

            if (provider != null) provider.Rows.Add(values.ToArray());
            values.Clear();
            try
            {
                MethodInvoker action = delegate
                {
                    dgrid.DataSource = null;
                    dgrid.DataSource = provider;
                    dgrid.Columns[1].FillWeight = dgrid.Columns[2].FillWeight = 180;
                    dgrid.Refresh();
                };
                dgrid.Invoke(action);
            }
            catch (Exception)
            {
            }
        }
예제 #6
0
        private string DisplayQueryData(Connexion.Connexion connexion, string SQL, DataGridView dataGridViewOracleData, BackgroundWorker worker, DoWorkEventArgs eArgs)
        {
            string result = null;
            try
            {
                //string SelectedTable = treeViewOracleSchema.SelectedNode.Text;
                using (DbCommand cmd = connexion.Cnn.CreateCommand())
                {
                    cmd.Transaction = connexion.MyTransaction;
                    int NumRec = 0;
                    try
                    {
                        string SQLCount = "SELECT count(*) " + SQL.Substring(SQL.ToUpper().IndexOf("FROM"));
                        cmd.CommandText = SQLCount; // string.Format("SELECT count(*) FROM {0}", SelectedTable);
                        cmd.Prepare();
                        NumRec = Convert.ToInt32(cmd.ExecuteScalar()) + dataGridViewOracleData.Rows.Count;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        NumRec = 0;
                    }

                    //string SQL = string.Format("SELECT * FROM {0}", SelectedTable);
                    cmd.CommandText = SQL;
                    cmd.Prepare();
                    //int colno = 0;
                    using (DbDataReader rd = cmd.ExecuteReader())
                    {
                        if (ClearData)
                        {
                            if (dataGridViewOracleData.InvokeRequired)
                            {
                                if (!worker.CancellationPending)
                                    dataGridViewOracleData.Invoke(new datagridClear(ClearDataGrid));
                            }
                            else
                            {
                                dataGridViewOracleData.Rows.Clear();
                                dataGridViewOracleData.Columns.Clear();
                            }
                            for (int i = 0; i < rd.FieldCount && !worker.CancellationPending; i++)
                            {
                                if (dataGridViewOracleData.InvokeRequired)
                                {
                                    dataGridViewOracleData.Invoke(new datagridAddCol(AddColDataGrid),
                                                                  new object[] { rd.GetName(i), rd.GetName(i) });
                                }
                                else
                                    dataGridViewOracleData.Columns.Add(rd.GetName(i), rd.GetName(i));
                            }
                        }

                        while (rd.Read() && !worker.CancellationPending)
                        {
                            DataGridViewRow dgrv = new DataGridViewRow();
                            for (int i = 0; i < dataGridViewOracleData.Columns.Count; i++)
                            {
                                dgrv.Cells.Add(new DataGridViewTextBoxCell());
                                dgrv.Cells[i].Value = rd.GetValue(i);
                            }
                            if (dataGridViewOracleData.InvokeRequired)
                            {
                                dataGridViewOracleData.Invoke(new datagridAddRow(AddRowDataGrid), new object[] { dgrv });
                            }
                            else
                                dataGridViewOracleData.Rows.Add(dgrv);

                            int CurrentNumRec = dataGridViewOracleData.Rows.Count;

                            if (worker.WorkerReportsProgress)
                            {
                                if (NumRec != 0)
                                {
                                    int percentComplete = (int)((float)CurrentNumRec / (float)NumRec * 100);
                                    worker.ReportProgress(percentComplete);
                                }
                                else
                                {
                                    worker.ReportProgress(CurrentNumRec % 100);
                                }
                            }
                        }
                        if (worker.WorkerSupportsCancellation)
                        {
                            if (worker.CancellationPending)
                            {
                                eArgs.Cancel = true;
                                result = string.Format("Aborted by user. {0} records found", dataGridViewOracleData.Rows.Count);
                            }
                            else
                            {
                                result = string.Format("{0} records found", dataGridViewOracleData.Rows.Count);
                            }
                        }
                        if (dataGridViewOracleData.InvokeRequired)
                        {
                            dataGridViewOracleData.Invoke(new datagridAutoResizeColumns(DatagridAutoResizeColumns), new object[] { dataGridViewOracleData });
                        }
                        else
                            dataGridViewOracleData.AutoResizeColumns();
                        rd.Close();
                    }
                }
                return result;
            }
            catch (Exception e)
            {
                Exception ee = e;
                string errorMessage = e.Message;
                while (e.InnerException != null)
                {
                    e = e.InnerException;
                    errorMessage += "\n" + e.Message;
                }
                MessageBox.Show(errorMessage, "Unexpected error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return errorMessage;
            }
        }
 void SetDataGridViewColumnProperty(DataGridView dataGridView, string columnName, object value, string propertyName)
 {
     try
     {
         foreach (PropertyInfo property in dataGridView.Columns[columnName].GetType().GetProperties())
         {
             if (property.Name.ToLower() == propertyName.ToLower())
             {
                 dataGridView.Invoke
                 (
                     new MethodInvoker
                     (
                         delegate
                         {
                             property.SetValue(dataGridView.Columns[columnName], value, null);
                         }
                     )
                 );
             }
         }
     }
     catch (Exception ex)
     {
         Tools.Instance.Logger.LogError(ex.ToString());
     }
 }
예제 #8
0
        public static void refreshgrid(DataGridView _dg, BindingSource _bs, bool endstate)
        {

            if (_dg.InvokeRequired)
            {
                try
                {
                    _dg.Invoke(new booldel(refreshgrid), new object[] { _dg,_bs,endstate });
                }
                catch (ObjectDisposedException) { }
            }
            else
            {
                // save screen position and selections
                List<int> sel = new List<int>();
                int first = -1;
                try
                {
                    lock (_dg)
                    {
                        first = _dg.FirstDisplayedScrollingRowIndex;
                        foreach (DataGridViewRow dr in _dg.SelectedRows)
                            sel.Add(dr.Index);
                    }



                    // update screen
                    _bs.RaiseListChangedEvents = true;
                    _bs.ResetBindings(false);
                    // diable updates again
                    _bs.RaiseListChangedEvents = endstate;

                }
                catch (Exception ex)
                {

                }

                // restore screen position and selections
                lock (_dg)
                {
                    try
                    {
                        if (first != -1)
                            _dg.FirstDisplayedScrollingRowIndex = first;
                        foreach (int r in sel)
                            _dg.Rows[r].Selected = true;
                    }
                    catch
                    {
                        // in case this row was deleted in the middle of an update
                    }
                }
            }
        }
예제 #9
0
        public static void InitRunDataGrid(System.Windows.Forms.DataGridView grid, string tagName)
        {
            #region MyRegion
            if (grid.InvokeRequired)
            {
                grid.Invoke(new MethodInvoker(delegate()
                {
                    InitRunDataGrid(grid, tagName);
                }));
                return;
            }
            grid.Tag = tagName;
            grid.Columns.Clear();
            DataGridViewTextBoxColumn colGaterherState = new DataGridViewTextBoxColumn();
            colGaterherState.HeaderText       = "状态";
            colGaterherState.Name             = "GaterherState";
            colGaterherState.DataPropertyName = "GaterherState";
            grid.Columns.Add(colGaterherState);


            DataGridViewTextBoxColumn colTaskName = new DataGridViewTextBoxColumn();
            colTaskName.HeaderText       = "任务名称";
            colTaskName.Name             = "TaskName";
            colTaskName.DataPropertyName = "TaskName";
            colTaskName.Width            = 200;
            grid.Columns.Add(colTaskName);

            DataGridViewTextBoxColumn colTaskType = new DataGridViewTextBoxColumn();
            colTaskType.HeaderText       = "任务类型";
            colTaskType.Name             = "TaskType";
            colTaskType.DataPropertyName = "TaskType";
            grid.Columns.Add(colTaskType);

            DataGridViewTextBoxColumn colLoginFlag = new DataGridViewTextBoxColumn();
            colLoginFlag.HeaderText       = "是否登录";
            colLoginFlag.DataPropertyName = "LoginFlag";
            colLoginFlag.Name             = "LoginFlag";
            grid.Columns.Add(colLoginFlag);

            DataGridViewTextBoxColumn colTrueCount = new DataGridViewTextBoxColumn();
            colTrueCount.HeaderText       = "完成页面";
            colTrueCount.DataPropertyName = "TrueCount";
            colTrueCount.Name             = "TrueCount";
            grid.Columns.Add(colTrueCount);

            DataGridViewTextBoxColumn colErrorCount = new DataGridViewTextBoxColumn();
            colErrorCount.HeaderText       = "错误数量";
            colErrorCount.DataPropertyName = "ErrorCount";
            colErrorCount.Name             = "ErrorCount";
            grid.Columns.Add(colErrorCount);

            DataGridViewTextBoxColumn colTotalCount = new DataGridViewTextBoxColumn();
            colTotalCount.HeaderText       = "采集页面";
            colTotalCount.DataPropertyName = "TotalCount";
            colTotalCount.Name             = "TotalCount";
            grid.Columns.Add(colTotalCount);

            DataGridViewProgressBarColumn colProgessValue = new DataGridViewProgressBarColumn();
            colProgessValue.HeaderText       = "当前进度";
            colProgessValue.Maximum          = 100;
            colProgessValue.Mimimum          = 0;
            colProgessValue.Width            = 120;
            colProgessValue.DataPropertyName = "ProgessValue";
            colProgessValue.ValueType        = typeof(int);
            colProgessValue.Name             = "ProgessValue";
            grid.Columns.Add(colProgessValue);

            DataGridViewTextBoxColumn colExcuteType = new DataGridViewTextBoxColumn();
            colExcuteType.HeaderText       = "执行类型";
            colExcuteType.DataPropertyName = "ExcuteType";
            colExcuteType.Name             = "ExcuteType";
            grid.Columns.Add(colExcuteType);

            DataGridViewTextBoxColumn colThreadNum = new DataGridViewTextBoxColumn();
            colThreadNum.HeaderText       = "线程数";
            colThreadNum.DataPropertyName = "ThreadNum";
            colThreadNum.Name             = "ThreadNum";
            grid.Columns.Add(colThreadNum);

            DataGridViewTextBoxColumn colTaskTempName = new DataGridViewTextBoxColumn();
            colTaskTempName.HeaderText       = "TaskTempName";
            colTaskTempName.DataPropertyName = "TaskTempName";
            colTaskTempName.Name             = "TaskTempName";
            colTaskTempName.Visible          = false;
            grid.Columns.Add(colTaskTempName);
            #endregion
        }
예제 #10
0
 static public async Task<object> fillAsync(string q, DataTable table, DataGridView view)
 {
     Cursor.Current = Cursors.WaitCursor;
     table.Clear();
     Func<object> query = () =>
     {
         view.Invoke(new fillDelegate(SQLiteUtils.fillInternal), q, table);
         return null;
     };
     await Task.Run(query);
     Cursor.Current = Cursors.Default;
     return null;
 }
예제 #11
0
        public List<jadwal> greedy(List<jadwal> x, DataTable y, DataGridView LoadLog, DataTable Log)
        {
            DataRow Row;
            bool optim = false;
            int hari = 0;
            int temp_sks = 0;
            int i = 0;
            int limit_loop = 0;
            int[] jam_ngajar = new int[6] { 2, 1, 1, 1, 2, 1 };
            int start_ngajar = 0;
            int problem_count = 0;
            while (!optim)
            {

                    temp_sks = int.Parse(y.Rows[i].ItemArray[2].ToString());
                if (limit_loop < 100)
                {
                    if (x[hari].Limit > temp_sks)
                    {
                        x[hari].Limit -= temp_sks;
                        start_ngajar = jam_ngajar[hari];
                        jam_ngajar[hari] += temp_sks;
                        x[hari].Mengajar.Add(new mengajar() { Guru = y.Rows[i].ItemArray[0].ToString(), MataPelajaran = y.Rows[i].ItemArray[1].ToString(), Sks = temp_sks , Problem=false , StartMengajar = start_ngajar, EndMengajar = jam_ngajar[hari]-1});
                        hari++;
                        i++;
                    }

                    if (!optim && hari > 5)
                    {
                        hari = 0;
                    }
                }
                else
                {
                    int max = 0;
                    while (i < y.Rows.Count)
                    {
                        for (int j = 1; j < x.Count; j++)
                        {
                            if (x[max].Limit < x[j].Limit)
                            {
                                max = j;
                            }
                        }
                        x[max].Limit -= temp_sks;
                        start_ngajar = jam_ngajar[hari];
                        jam_ngajar[hari] += temp_sks - 1;
                        x[max].Mengajar.Add(new mengajar() { Guru = y.Rows[i].ItemArray[0].ToString(), MataPelajaran = y.Rows[i].ItemArray[1].ToString(), Sks = temp_sks , Problem = true, StartMengajar = start_ngajar , EndMengajar = jam_ngajar[hari]});
                        i++;
                        problem_count++;
                    }
                }
                limit_loop++;
                if (i >= y.Rows.Count)
                {
                    optim = true;
                }
            }
            Row = Log.NewRow(); Row["Status"] = "Simple Dispatch"; Row["Keterangan"] = "Lokal Penalti : "+ problem_count;
            Log.Rows.Add(Row);
            LoadLog.Invoke((MethodInvoker)(() => LoadLog.DataSource = Log));
            return x;
        }