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; } }
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; }
private void AddGridItemInvoke(DataGridView dataGridView, IPAddressGridItem item) { if (dataGridView.InvokeRequired) { dataGridView.Invoke(new AddDataGridViewItemDelegate(AddDataGridViewItem), dataGridView, item); } else { AddDataGridViewItem(dataGridView, item); } }
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(); } }
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) { } }
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()); } }
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 } } } }
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 }
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; }
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; }