public static void DailyScheduleView(DataGridView view, MainForm mainForm) { if (view.DataSource == null) { return; } view.ColumnHeadersVisible = false; view.RowHeadersVisible = false; view.DefaultCellStyle.WrapMode = DataGridViewTriState.True; view.AutoResizeColumns(); view.AutoResizeRows(); view.AllowUserToResizeColumns = false; view.AllowUserToResizeRows = false; // LessonId view.Columns[0].Visible = false; view.Columns[0].Width = 0; // Ring view.Columns[1].Width = 56; view.Columns[1].DefaultCellStyle.Font = new Font(view.DefaultCellStyle.Font.FontFamily, 14); view.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; // LessonSummary // view.Columns[2].Width = Percent(88, view.Width); view.Columns[2].Width = view.Width - view.Columns[1].Width - 20; }
private string fillSQLOption(List <String> possibleQ, System.Windows.Forms.DataGridView grid_view) { //setup grid grid_view.AllowUserToAddRows = false; grid_view.Rows.Clear(); grid_view.ColumnCount = 2; //grid_view.Columns[0].au; grid_view.Visible = true; grid_view.ColumnHeadersVisible = true; DataGridViewCellStyle columnHeaderStyle = new DataGridViewCellStyle(); columnHeaderStyle.BackColor = Color.Beige; columnHeaderStyle.Font = new Font("Verdana", 10, FontStyle.Bold); grid_view.ColumnHeadersDefaultCellStyle = columnHeaderStyle; grid_view.Columns[0].Name = "Query Options"; grid_view.Columns[1].Name = "Query Time (sec)"; float fin = 10000; string result = ""; foreach (string str in possibleQ) { string[] add = { "", "" }; if (queryTime.Keys.Contains(str)) { add[0] = str; add[1] = queryTime[str].ToString(); } else { add[0] = str; string arg = "/C " + path + "sqlite3 " + path + database + " \"" + str + "\" > " + path + "out.txt"; DateTime dt1 = DateTime.Now; float t1 = dt1.Second + (float)((float)dt1.Millisecond / 1000); run_command(arg); dt1 = DateTime.Now; float t2 = dt1.Second + (float)((float)dt1.Millisecond / 1000); add[1] = (t2 - t1).ToString(); if ((t2 - t1) < fin) { fin = (t2 - t1); result = str; } if ((t2 - t1) == fin) { if (str.Length < result.Length) { result = str; } } } grid_view.Rows.Add(add); } grid_view.Sort(grid_view.Columns[1], ListSortDirection.Ascending); grid_view.AutoResizeColumns(); return(result); }
public IssuesView(IDataProvider provider) : base(provider.Master, "Issues") { Frame.Text = "Issues"; var result = new DataGridView { RowHeadersVisible = false, SelectionMode = DataGridViewSelectionMode.RowHeaderSelect, MultiSelect = true }; var data = provider.Data.ToArray(); result.Columns.AddRange(DataGridViewColumns().ToArray()); result.Rows.AddRange(data.Select(CreateRow).ToArray()); result.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); result.CellClick += (a, b) => OnSelect(data[b.RowIndex], provider); Client = result; }
private void InitializeDataGridViewQuantitiveCharacteristic(DataGridView _dataGridView) { _dataGridView.ColumnCount = 3; _dataGridView.RowCount = 5; _dataGridView.RowHeadersWidth = 50; _dataGridView.Columns[0].Name = "Value"; _dataGridView.Columns[1].Name = "Standard deviation"; _dataGridView.Columns[2].Name = "Interval"; _dataGridView.Rows[0].HeaderCell.Value = "Average arithmetic mean"; _dataGridView.Rows[1].HeaderCell.Value = "Median"; _dataGridView.Rows[2].HeaderCell.Value = "Standard deviation"; _dataGridView.Rows[3].HeaderCell.Value = "Skewness"; _dataGridView.Rows[4].HeaderCell.Value = "Kurtosis"; _dataGridView.AutoResizeColumns(); _dataGridView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; }
void format_dgv(DataGridView dgv) { dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); int headerW = dgv.RowHeadersWidth; int columnsW = 0; DataGridViewColumnCollection columns = dgv.Columns; for (int i = 0; i < columns.Count; i++) { columnsW += columns[i].Width; } if (columnsW + headerW < dgv.Width) { int leftTotalWidht = dgv.Width - columnsW - headerW - 2; int eachColumnAddedWidth = leftTotalWidht / columns.Count; for (int i = 0; i < columns.Count; i++) { columns[i].Width += eachColumnAddedWidth; } } }
public void filtrarDataGridView(DataGridView miDataGridView, String sqlQuery) { SqlDataAdapter adapter; DataTable tabla; try { adapter = new SqlDataAdapter(sqlQuery, Conexion.getConexion()); tabla = new DataTable(); adapter.Fill(tabla); miDataGridView.DataSource = tabla; miDataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); adapter.Dispose(); } catch (Exception e) { MessageBox.Show(e.Message, "Error", MessageBoxButtons.OK); } }
public static void ShowOnGridView(DataGridView dataGridView, String Query) { //Create a DataTable to hold the query results. DataTable dTable = new DataTable(); //Fill the DataTable. FillTable(Query, dTable); //BindingSource to sync DataTable and DataGridView. BindingSource bSource = new BindingSource(); //Set the BindingSource DataSource. bSource.DataSource = dTable; //Set the DataGridView DataSource. dataGridView.DataSource = bSource; dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); for (int i = 0; i < dataGridView.RowCount; i = i + 2) { dataGridView.Rows[i].DefaultCellStyle.BackColor = Color.AliceBlue; dataGridView.Rows[i].DefaultCellStyle.ForeColor = Color.Black; } for (int i = 1; i < dataGridView.RowCount; i = i + 2) { dataGridView.Rows[i].DefaultCellStyle.BackColor = Color.White; dataGridView.Rows[i].DefaultCellStyle.ForeColor = Color.Black; } dataGridView.AllowUserToAddRows = false; dataGridView.AllowUserToDeleteRows = false; }
public static void SetupGrid(DataGridView dgv) { dgv.AutoGenerateColumns = false; dgv.AutoResizeColumns(); dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; }
private void GetStats(object state) { if (!CanConnect) return; try { DataSet dsViews = ExecuteSql(@"SELECT table_name FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='trafikverket' and table_type='VIEW' and table_name like 'Get%' order by table_name;"); var views = dsViews.Tables[0].Rows.Cast<DataRow>().Select(x => x.ItemArray[0]).ToArray(); //var views = "GetMaxMinAvgPerDay;GetMaxMinDiffPerMeasurePoint;GetMaxminAvgPerMonth".Split(';'); foreach (string view in views) { if (!flpViews.Controls.Cast<Control>().Any(c => c.Tag != null && c.Tag.ToString().Equals(view))) { DataGridView dgv = new DataGridView(); dgv.AutoGenerateColumns = true; dgv.Name = "dgv" + view; dgv.Tag = view; dgv.Height = flpViews.Height - 10; double dc = double.Parse(views.Count().ToString()); double w = (flpViews.Width / dc) - (dc * 3); dgv.Width = int.Parse(Math.Floor(w).ToString()); using (DataSet ds = ExecuteSql("select * from trafikverket." + view + ";")) this.Invoke((MethodInvoker)delegate { dgv.DataSource = ds.Tables[0]; flpViews.Controls.Add(dgv); dgv.Refresh(); flpViews.Refresh(); dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader); }); } else { DataGridView dgv = flpViews.Controls.Cast<Control>().FirstOrDefault(c => c.Tag != null && c.Tag.ToString().Equals(view)) as DataGridView; if (dgv == null) continue; using (DataSet ds = ExecuteSql("select * from trafikverket." + view + ";")) this.Invoke((MethodInvoker)delegate { dgv.DataSource = ds.Tables[0]; dgv.Refresh(); flpViews.Refresh(); dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader); }); } } } catch { } System.GC.Collect(); }
private void examinePredictionsToolStripMenuItem_Click(object sender, EventArgs e) { if (DisplayedPrediction == null) MessageBox.Show("No prediction displayed. Cannot examine regions."); else if (!File.Exists(DisplayedPrediction.PointPredictionLogPath)) MessageBox.Show("No point prediction information is available."); else if (_highlightedThreatRectangle == Rectangle.Empty || _highlightedThreatRectangleCol == -1 || _highlightedThreatRectangleRow == -1) MessageBox.Show("Must select a region to examine."); else { float pixelsPerMeter; float threatRectanglePixelWidth; GetDrawingParameters(new Rectangle(new System.Drawing.Point(0, 0), CurrentThreatSurface.Size), out pixelsPerMeter, out threatRectanglePixelWidth); int rowAbsoluteThreatRectangle = _highlightedThreatRectangleRow + (int)(_panOffset.Height / threatRectanglePixelWidth); int colAbsoluteThreatRectangle = _highlightedThreatRectangleCol + (int)(_panOffset.Width / threatRectanglePixelWidth); if (rowAbsoluteThreatRectangle < 0 || colAbsoluteThreatRectangle < 0) MessageBox.Show("No predictions were made in that region."); else { float widthMeters = threatRectanglePixelWidth / pixelsPerMeter; float bottomMeters = _regionBottomLeftInMeters.Y + _regionSizeInMeters.Height - (rowAbsoluteThreatRectangle + 1) * widthMeters; float leftMeters = _regionBottomLeftInMeters.X + colAbsoluteThreatRectangle * widthMeters; PostGIS.Polygon threatRectangle = new PostGIS.Polygon(new PostGIS.Point[]{ new PostGIS.Point(leftMeters, bottomMeters, DisplayedPrediction.PredictionArea.Shapefile.SRID), new PostGIS.Point(leftMeters, bottomMeters + widthMeters, DisplayedPrediction.PredictionArea.Shapefile.SRID), new PostGIS.Point(leftMeters + widthMeters, bottomMeters + widthMeters, DisplayedPrediction.PredictionArea.Shapefile.SRID), new PostGIS.Point(leftMeters + widthMeters, bottomMeters, DisplayedPrediction.PredictionArea.Shapefile.SRID), new PostGIS.Point(leftMeters, bottomMeters, DisplayedPrediction.PredictionArea.Shapefile.SRID)}, DisplayedPrediction.PredictionArea.Shapefile.SRID); DiscreteChoiceModel model = DisplayedPrediction.Model; PointPrediction[] pointPredictions = PointPrediction.GetWithin(threatRectangle, DisplayedPrediction).ToArray(); // only get point predictions in current slice if we've got a timeslice model if (model is TimeSliceDCM) pointPredictions = pointPredictions.Where(p => (p.Time.Ticks / (model as TimeSliceDCM).TimeSliceTicks) == timeSlice.Value).ToArray(); if (pointPredictions.Length > 0) { DataGridView dataView = new DataGridView(); dataView.ReadOnly = true; dataView.AllowUserToAddRows = false; int predictionIdCol = dataView.Columns.Add("prediction_id", "Prediction ID"); Dictionary<string, int> incidentProbCol = new Dictionary<string, int>(); Set<int> incidentCols = new Set<int>(); foreach (string incident in pointPredictions[0].IncidentScore.Keys) { string colName = "Threat: " + incident; int incidentCol = dataView.Columns.Add(colName, colName); incidentProbCol.Add(incident, incidentCol); incidentCols.Add(incidentCol); } Dictionary<string, int> featureIdCol = new Dictionary<string, int>(); Set<int> featureCols = new Set<int>(); if (model is IFeatureBasedDCM) { IFeatureBasedDCM featureBasedModel = DisplayedPrediction.Model as IFeatureBasedDCM; foreach (Feature feature in featureBasedModel.Features.OrderBy(f => f.Id)) { string colName = "Feature: " + feature.ToString(); int featureCol = dataView.Columns.Add(colName, colName); featureIdCol.Add(feature.Id, featureCol); featureCols.Add(featureCol); } } dataView.Rows.Add(pointPredictions.Length); try { Set<string> logPointIdsToGet = new Set<string>(pointPredictions.Select(p => model.GetPointIdForLog(p.PointId, p.Time)).ToArray()); Dictionary<string, Tuple<List<Tuple<string, double>>, List<Tuple<string, string>>>> pointPredictionLog = model.ReadPointPredictionLog(DisplayedPrediction.PointPredictionLogPath, logPointIdsToGet); for (int i = 0; i < pointPredictions.Length; ++i) { PointPrediction pointPrediction = pointPredictions[i]; dataView[predictionIdCol, i].Value = pointPrediction.PointId; string logPointId = model.GetPointIdForLog(pointPrediction.PointId, pointPrediction.Time); foreach (Tuple<string, double> labelConfidence in pointPredictionLog[logPointId].Item1) if (labelConfidence.Item1 != PointPrediction.NullLabel) dataView[incidentProbCol[labelConfidence.Item1], i].Value = labelConfidence.Item2; foreach (Tuple<string, string> featureIdValue in pointPredictionLog[logPointId].Item2) dataView[featureIdCol[featureIdValue.Item1], i].Value = featureIdValue.Item2; } } catch (Exception ex) { Console.Out.WriteLine("Error while reading prediction log: " + ex.Message); } dataView.SortCompare += new DataGridViewSortCompareEventHandler(delegate(object o, DataGridViewSortCompareEventArgs args) { int sortedColumn = args.Column.DisplayIndex; if (args.CellValue1 == null && args.CellValue2 == null) args.SortResult = args.RowIndex1.CompareTo(args.RowIndex2); else if (args.CellValue1 == null || args.CellValue2 == null) args.SortResult = args.CellValue1 == null ? -1 : 1; else if (sortedColumn == predictionIdCol) args.SortResult = ((int)args.CellValue1).CompareTo((int)args.CellValue2); else if (incidentCols.Contains(sortedColumn)) args.SortResult = ((double)args.CellValue1).CompareTo((double)args.CellValue2); else if (featureCols.Contains(sortedColumn)) { double cellValue1, cellValue2; if (double.TryParse(args.CellValue1.ToString(), out cellValue1) && double.TryParse(args.CellValue2.ToString(), out cellValue2)) args.SortResult = Math.Abs(cellValue1).CompareTo(Math.Abs(cellValue2)); else args.SortResult = args.CellValue1.ToString().CompareTo(args.CellValue2.ToString()); } else throw new Exception("Unknown column type"); args.Handled = true; }); PredictionDataGridViewForm form = new PredictionDataGridViewForm(); form.MaximumSize = Screen.FromControl(this).Bounds.Size; form.Controls.Add(dataView); form.Show(); dataView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); form.ClientSize = dataView.Size = dataView.PreferredSize; form.Location = new System.Drawing.Point(0, 0); } else MessageBox.Show("No predictions were made in that region."); } } }
private void BindingCollectionToGridView(DataGridView dgv) { dgv.AllowUserToAddRows = false; dgv.AllowUserToDeleteRows = false; dgv.AutoGenerateColumns = false; dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.ColumnHeader); }
private void DataggridMIFformating(DataGridView dg) { dg.Columns[0].FillWeight = 1; dg.Columns[1].FillWeight = 1; dg.Columns[2].FillWeight = 1; dg.Columns[3].FillWeight = 1; dg.Columns[4].FillWeight = 1; dg.Columns[5].FillWeight = 10; dg.Columns[6].FillWeight = 50; dg.Columns[6].FillWeight = 15; dg.Columns[0].Visible = false; dg.Columns[1].Visible = false; dg.Columns[2].Visible = false; dg.Columns[3].Visible = false; dg.Columns[4].Visible = false; dg.Columns[5].Visible = true; dg.Columns[6].Visible = true; dg.Columns[7].Visible = true; _setColorForDataGrid(dg); dg.AutoResizeColumns(); dg.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; dg.Refresh(); Refrescounterdgridinfo(); }
void AutoResizeColumns(DataGridView gridView) { try { gridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells); if (gridView.Columns.Count > 1 && Preferences.setLastColumnWidth && gridView.Columns[gridView.Columns.Count - 1].Width < Preferences.lastColumnWidth) { // It seems that using 'MinimumWidth' instead of 'Width' prevents the DataGridView's NullReferenceExceptions //gridView.Columns[gridView.Columns.Count - 1].Width = Preferences.lastColumnWidth; gridView.Columns[gridView.Columns.Count - 1].MinimumWidth = Preferences.lastColumnWidth; } } catch (NullReferenceException e) { // See https://connect.microsoft.com/VisualStudio/feedback/details/366943/autoresizecolumns-in-datagridview-throws-nullreferenceexception // There are some rare situations with null ref exceptions when resizing columns and on filter finished // So catch them here. Better than crashing. Logger.logError("Error while resizing columns: " + e.Message); Logger.logError(e.StackTrace); } }
public void llenarDataGridViewDevolucion(DataGridView dgv,String idCl) { SqlDataAdapter adapter; DataTable tabla; try { adapter = new SqlDataAdapter("select * from [THE_CVENGERS].comprasCliente("+idCl+") order by 'Fecha compra'", Conexion.getConexion()); tabla = new DataTable(); adapter.Fill(tabla); dgv.DataSource = tabla; dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); adapter.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void FormatDataGrid(DataGridView grid) { var tbl = (DataTable)grid.DataSource; var arasProxy = _proxy as ArasEditorProxy; ArasMetadataProvider metadata = null; if (arasProxy != null) metadata = ArasMetadataProvider.Cached(arasProxy.Connection); grid.Columns.Clear(); foreach (var dataCol in tbl.Columns.OfType<DataColumn>()) { DataGridViewColumn col; if (dataCol.DataType == typeof(bool)) { col = new DataGridViewCheckBoxColumn(); } else if (dataCol.DataType == typeof(DateTime)) { col = new Controls.DataGridViewCalendarColumn(); } else { var prop = dataCol.PropMetadata(); if (prop != null && metadata != null && string.Equals(prop.TypeName, "list", StringComparison.OrdinalIgnoreCase)) { var combo = new DataGridViewListColumn(); combo.DisplayMember = "Label"; combo.ValueMember = "Value"; metadata.ListValues(prop.DataSource) .Done(v => combo.DataSource = v.ToArray()); col = combo; } else { col = new DataGridViewTextBoxColumn(); } } col.DataPropertyName = dataCol.ColumnName; col.ValueType = dataCol.DataType; col.HeaderText = dataCol.Caption; col.Visible = dataCol.IsUiVisible(); grid.Columns.Add(col); } grid.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCellsExceptHeader); var minWidths = grid.Columns.OfType<DataGridViewColumn>().Select(c => c.Width).ToArray(); grid.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells); var maxWidths = grid.Columns.OfType<DataGridViewColumn>().Select(c => c.Width).ToArray(); var maxWidth = (int)(grid.Width * 0.8); //DataColumn boundColumn; for (var i = 0; i < grid.Columns.Count; i++) { grid.Columns[i].Width = Math.Min(maxWidths[i] < 100 ? maxWidths[i] : (maxWidths[i] < minWidths[i] + 60 ? maxWidths[i] : minWidths[i] + 60) , maxWidth); grid.Columns[i].DefaultCellStyle.Alignment = (IsNumericType(grid.Columns[i].ValueType) ? DataGridViewContentAlignment.TopRight : DataGridViewContentAlignment.TopLeft); //boundColumn = ((DataTable)grid.DataSource).Columns[grid.Columns[i].DataPropertyName]; //grid.Columns[i].HeaderText = boundColumn.Caption; //grid.Columns[i].Visible = boundColumn.IsUiVisible(); } if (!grid.Columns.OfType<DataGridViewColumn>().Any(c => c.Visible)) { foreach (var col in grid.Columns.OfType<DataGridViewColumn>()) { col.Visible = true; } } var orderedColumns = grid.Columns.OfType<DataGridViewColumn>() .Select(c => new { Column = c, SortOrder = GetSortOrder(c) }) .OrderBy(c => c.SortOrder) .ThenBy(c => c.Column.HeaderText) .Select((c, i) => new { Column = c.Column, Index = i }) .ToArray(); foreach (var col in orderedColumns) { col.Column.DisplayIndex = col.Index; } grid.AllowUserToAddRows = _outputSet != null && ((DataTable)grid.DataSource).Columns.Contains("id") && ((DataTable)grid.DataSource).Columns.Contains(Extensions.AmlTable_TypeName); grid.AllowUserToDeleteRows = grid.AllowUserToAddRows; grid.ReadOnly = !grid.AllowUserToAddRows; }
void gridBind(DataGridView flexGrid, DataTable dt, string[] captionArray) { if (this.InvokeRequired) { this.Invoke(new delegateGridBind(gridBind), new object[] { flexGrid, dt, captionArray }); return; } flexGrid.DataSource = dt.DefaultView; string lastCol = string.Empty; for (int i = 0; i < captionArray.Length; i++) { if (string.IsNullOrEmpty(captionArray[i])) { flexGrid.Columns[i].Visible = false; } else { flexGrid.Columns[i].HeaderText = captionArray[i]; lastCol = flexGrid.Columns[i].Name; } } flexGrid.AutoResizeColumns(); flexGrid.Columns[lastCol].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; }
public void llenarDataGridView(DataGridView dgv, String nombreTabla) { SqlDataAdapter adapter; DataTable tabla; try { adapter = new SqlDataAdapter("select * from [THE_CVENGERS]." + nombreTabla, Conexion.getConexion()); tabla = new DataTable(); adapter.Fill(tabla); dgv.DataSource=tabla; dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); adapter.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// Sets the data in DataGridView from the DataTable object. /// The columns can be filtered or null to get all columns from the data table in the the data grid view. /// </summary> /// <param name="dataGridView"></param> /// <param name="dataTable"></param> /// <param name="columnFilter">The columns to filter.</param> /// <param name="filterType">Whether to keep the items in the filter (remove all others) or remove them (keep all others).</param> public static void SetDataGridViewData(DataGridView dataGridView, DataTable dataTable, IEnumerable<string> columnFilter, Util.FilterType filterType) { // Clear DGV if it's not data bound. If it is, it will be re-bound later, therefore cleaning the old data. if (dataGridView.DataSource == null) { dataGridView.Rows.Clear(); dataGridView.Columns.Clear(); } else { // Force data binding flush dataGridView.DataSource = null; } // Bind the data dataGridView.DataSource = dataTable; // Hide the columns filtered out if (columnFilter != null) { List<string> columnFilterList = new List<string>(columnFilter); List<string> columns = Db.DbUtil.GetColumnNames(dataTable); List<string> columnsToRemove = null; // Get a list of columns to remove if (filterType == Util.FilterType.Keep) { columnsToRemove = CollectionUtil<string>.Filter(columns, Util.FilterType.Remove, columnFilterList); } else if (filterType == Util.FilterType.Remove) { columnsToRemove = columnFilterList; } else { throw new Exception("Unkonwn filter type: " + filterType.ToString()); } // Hide the columns foreach (string col in columnsToRemove) { dataGridView.Columns[col].Visible = false; } // Force column order as defined in column filter // but only if it's FilterType.Keep if (filterType == Util.FilterType.Keep) { int i = 0; foreach (string column in columnFilter) { dataGridView.Columns[column].DisplayIndex = i++; } } } dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); }
private void llenarTabla(String consulta, DataGridView dataGridView) { DataTable tabla = null; try { tabla = Variables.baseDatos.ejecutarConsultaTabla(consulta); BindingSource bindingSource = new BindingSource(); bindingSource.DataSource = tabla; dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader); dataGridView.DataSource = bindingSource; for (int i = 0; i < dataGridView.ColumnCount; i++) { dataGridView.Columns[i].Width = 250; } } catch (SqlException ex) { string mensajeError = ex.ToString(); MessageBox.Show(mensajeError); } }
/// <summary> /// void LoadGridWithResults(List<string[]> results) /// Load the passed grid with the resultset /// </summary> /// <param name="_results"></param> public static void LoadGridWithResults(DataGridView grid, List<string[]> results) { try { if (results.Count > 0) { // first record should be the field names string[] _fieldNames = results[0]; foreach (string _fieldName in _fieldNames) { if (_fieldName != "") { // add a column grid.Columns.Add(_fieldName, _fieldName.Replace('_', ' ')); } } for (int n = 1; n < results.Count; n++) { string[] _fields = results[n]; grid.Rows.Add(_fields); } grid.AutoResizeColumns(); } else { grid.Columns.Add("Message", "Message"); grid.Columns["Message"].Width = grid.Width - 20; string[] _fields = { "No rows to display" }; grid.Rows.Add(_fields); } grid.Refresh(); } catch (Exception ex) { CommonRoutines.Log("$E:" + moduleName + ".LoadGridWithResults > " + ex.Message); } return; }
public void SetupGridView(System.Windows.Forms.DataGridView dg) { dsFeeders = cf.POPFeedersTable(); dg.AllowUserToAddRows = false; dg.AllowUserToDeleteRows = false; dg.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; dg.AutoGenerateColumns = false; DataGridViewTextBoxColumn dgvc1 = new DataGridViewTextBoxColumn(); dgvc1.DataPropertyName = "RefDes"; dgvc1.HeaderText = "RefDes"; dgvc1.ReadOnly = true; dg.Columns.Add(dgvc1); DataGridViewTextBoxColumn dgvc2 = new DataGridViewTextBoxColumn(); dgvc2.DataPropertyName = "Type"; dgvc2.HeaderText = "Type"; dgvc2.ReadOnly = true; dg.Columns.Add(dgvc2); DataGridViewTextBoxColumn dgvc3 = new DataGridViewTextBoxColumn(); dgvc3.DataPropertyName = "PosX"; dgvc3.HeaderText = "PosX"; dgvc3.ReadOnly = true; dg.Columns.Add(dgvc3); DataGridViewTextBoxColumn dgvc4 = new DataGridViewTextBoxColumn(); dgvc4.DataPropertyName = "PosY"; dgvc4.HeaderText = "PosY"; dgvc4.ReadOnly = true; dg.Columns.Add(dgvc4); DataGridViewTextBoxColumn dgvc5 = new DataGridViewTextBoxColumn(); dgvc5.DataPropertyName = "Rotate"; dgvc5.HeaderText = "Rotate"; dgvc5.ReadOnly = true; dg.Columns.Add(dgvc5); DataGridViewTextBoxColumn dgvc6 = new DataGridViewTextBoxColumn(); dgvc6.DataPropertyName = "Value"; dgvc6.HeaderText = "Value"; dgvc6.ReadOnly = true; dg.Columns.Add(dgvc6); DataGridViewComboBoxColumn ColumnItem = new DataGridViewComboBoxColumn(); ColumnItem.HeaderText = "Feeder Number"; ColumnItem.Width = 120; ColumnItem.DataSource = dsFeeders.Tables[0].DefaultView; ColumnItem.DataPropertyName = "feederNumber"; ColumnItem.ValueMember = "feederNumber"; ColumnItem.DisplayMember = "feederValue"; ColumnItem.ValueType = typeof(byte); dg.Columns.Add(ColumnItem); dg.AutoResizeColumns(); dg.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; POPDataTable(); }
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; } }
/// <summary> /// Generate a Windows modeless form on the fly /// and display the revision data in it in a /// DataGridView. /// </summary> void DisplayRevisionData( List<RevisionData> revision_data, IWin32Window owner) { System.Windows.Forms.Form form = new System.Windows.Forms.Form(); form.Size = new Size( 680, 180 ); form.Text = "Revision Data"; DataGridView dg = new DataGridView(); dg.DataSource = revision_data; dg.AllowUserToAddRows = false; dg.AllowUserToDeleteRows = false; dg.AllowUserToOrderColumns = true; dg.Dock = System.Windows.Forms.DockStyle.Fill; dg.Location = new System.Drawing.Point( 0, 0 ); dg.ReadOnly = true; dg.TabIndex = 0; dg.Parent = form; dg.AutoSize = true; dg.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dg.AutoResizeColumns( DataGridViewAutoSizeColumnsMode.AllCells ); dg.AutoResizeColumns(); //dg.Columns[2].AutoSizeMode // = DataGridViewAutoSizeColumnMode.DisplayedCells; //dg.Columns[3].AutoSizeMode // = DataGridViewAutoSizeColumnMode.Fill; form.ShowDialog( owner ); }
/// <summary> /// Interactively update the database table by DataGridView and NpgsqlDataAdapter /// Insert Update Delete /// </summary> private void UpdateTable(string strConn, string strSQL, NpgsqlParameter[] sqlParams, DataGridView gridView, out NpgsqlDataAdapter da, out DataSet ds) { ds = new DataSet(); da = this.GetDataAdapter(strConn, strSQL, sqlParams, false); da.Fill(ds); gridView.DataSource = ds.Tables[0]; gridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader); }
public void llenarDataGridViewABMCiudad(DataGridView dgv) { SqlDataAdapter adapter; DataTable tabla; try { adapter = new SqlDataAdapter("select CIUDAD_ID as 'Id Ciudad', CIUDAD_NOMBRE as 'Nombre Ciudad' from [THE_CVENGERS].CIUDAD WHERE CIUDAD_ESTADO=1", Conexion.getConexion()); tabla = new DataTable(); adapter.Fill(tabla); dgv.DataSource = tabla; dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); adapter.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary>The add tables.</summary> private void AddTables() { ClearGridsAndTabs(); SetRowCount(null); if (Batch != null) { string nullText = _settings.NullText; int counter = 1; _resizingGrid = true; foreach (Query query in Batch.Queries) { DataSet ds = query.Result; if (ds != null) { foreach (DataTable dt in ds.Tables) { DataGridView grid = new DataGridView(); DataGridViewCellStyle cellStyle = new DataGridViewCellStyle(); grid.AllowUserToAddRows = false; grid.AllowUserToDeleteRows = false; grid.Dock = DockStyle.Fill; grid.Name = "gridResults_" + counter; grid.ReadOnly = true; grid.DataSource = dt; grid.DataError += GridDataError; grid.DefaultCellStyle = cellStyle; cellStyle.NullValue = nullText; cellStyle.Font = CreateDefaultFont(); grid.DataBindingComplete += GridDataBindingComplete; grid.Disposed += GridDisposed; grid.ColumnWidthChanged += OnColumnWidthChanged; TabPage tabPage = new TabPage(); tabPage.Controls.Add(grid); tabPage.Name = "tabPageResults_" + counter; tabPage.Padding = new Padding(3); tabPage.Text = string.Format("{0}/Table {1}", ds.DataSetName, counter); tabPage.UseVisualStyleBackColor = false; _resultsTabControl.TabPages.Add(tabPage); // create a reasonable default max width for columns int maxColWidth = Math.Max(grid.ClientSize.Width / 2, 100); // Autosize the columns then change the widths, gleaned from SO - http://stackoverflow.com/a/1031871/276563 grid.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells); for (int i = 0; i < grid.Columns.Count; i++) { int columnWidth = grid.Columns[i].Width; grid.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.None; string headerText = grid.Columns[i].HeaderText; if (!string.IsNullOrEmpty(headerText) && _columnSizes.ContainsKey(headerText)) { // use the previous column size in case its been adjusted etc grid.Columns[i].Width = _columnSizes[headerText]; } else { // reset to a the smaller of the 2 sizes, this is mainly for the bigger text columns that throw the size out grid.Columns[i].Width = Math.Min(columnWidth, maxColWidth); if (!string.IsNullOrEmpty(headerText)) { _columnSizes[headerText] = grid.Columns[i].Width; } } } // set the row count for the first tab for now. if (counter == 1) { SetRowCount(dt.Rows.Count); } counter++; } } } if (!string.IsNullOrEmpty(Batch.Messages)) { RichTextBox rtf = new RichTextBox(); rtf.Font = CreateDefaultFont(); rtf.Dock = DockStyle.Fill; rtf.ScrollBars = RichTextBoxScrollBars.ForcedBoth; rtf.Text = Batch.Messages; TabPage tabPage = new TabPage(); tabPage.Controls.Add(rtf); tabPage.Name = "tabPageResults_Messages"; tabPage.Padding = new Padding(3); tabPage.Dock = DockStyle.Fill; tabPage.Text = Resources.Messages; tabPage.UseVisualStyleBackColor = false; _resultsTabControl.TabPages.Add(tabPage); } _resizingGrid = false; } }
public void llenarDGV_Compra(DataGridView dgv) { SqlDataAdapter adapter; DataTable tabla; try { adapter = new SqlDataAdapter("SELECT * FROM THE_CVENGERS.viajesCompra", Conexion.getConexion()); tabla = new DataTable(); adapter.Fill(tabla); dgv.DataSource = tabla; dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); adapter.Dispose(); } catch (Exception e) { MessageBox.Show(e.Message, "Error", MessageBoxButtons.OK); } }
/// <summary> /// Format les colonnes du datagridview via une classe où les propriétés sont habillées des attributs disponibles /// </summary> public static void FormatColumns <T>(this System.Windows.Forms.DataGridView iDgv, string iLang) { if (iDgv.DataSource != null) { iDgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None; var dgvColumnHeaderStyle = new DataGridViewCellStyle(); dgvColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; iDgv.ColumnHeadersDefaultCellStyle = dgvColumnHeaderStyle; foreach (System.Windows.Forms.DataGridViewColumn itemColumn in iDgv.Columns) { itemColumn.Visible = typeof(T).GetVisible(itemColumn.Name); if (itemColumn.Visible == true) { itemColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; itemColumn.DefaultCellStyle.NullValue = null; if (typeof(T).GetName(itemColumn.Name, iLang) != null) { itemColumn.HeaderText = typeof(T).GetName(itemColumn.Name, iLang); } itemColumn.ReadOnly = (bool)typeof(T).GetReadOnly(itemColumn.Name); itemColumn.Frozen = (bool)typeof(T).GetFrozen(itemColumn.Name); if (typeof(T).GetBackColor(itemColumn.Name) != null) { itemColumn.DefaultCellStyle.BackColor = (Color)typeof(T).GetBackColor(itemColumn.Name); } if (typeof(T).GetMultiLineText(itemColumn.Name)) { itemColumn.DefaultCellStyle.WrapMode = DataGridViewTriState.True; } } } //Autoresize avant la largeur si spécifié pour tenir compte de la largeur de l'entete iDgv.AutoResizeColumns(); foreach (System.Windows.Forms.DataGridViewColumn itemColumn in iDgv.Columns) { itemColumn.DefaultCellStyle.Alignment = typeof(T).GetContentAlignment(itemColumn.Name); itemColumn.Visible = typeof(T).GetVisible(itemColumn.Name); if (itemColumn.Visible == true) { if (typeof(T).GetWidthColumn(itemColumn.Name) != null) { var width = (int)typeof(T).GetWidthColumn(itemColumn.Name); if (width != 0) { itemColumn.Width = width; } else { itemColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; } } itemColumn.DefaultCellStyle.Alignment = typeof(T).GetContentAlignment(itemColumn.Name); } } } }
private void DatagridAutoResizeColumns(DataGridView dgv) { dgv.AutoResizeColumns(); }
public void SetupGridView(System.Windows.Forms.DataGridView dg) { dg.AllowUserToAddRows = false; dg.AllowUserToDeleteRows = false; dg.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter; dg.AutoGenerateColumns = false; DataGridViewTextBoxColumn dgvc1 = new DataGridViewTextBoxColumn(); dgvc1.DataPropertyName = "RefDes"; dgvc1.HeaderText = "RefDes"; dgvc1.ReadOnly = true; dg.Columns.Add(dgvc1); DataGridViewTextBoxColumn dgvc2 = new DataGridViewTextBoxColumn(); dgvc2.DataPropertyName = "Type"; dgvc2.HeaderText = "Type"; dgvc2.ReadOnly = true; dg.Columns.Add(dgvc2); DataGridViewTextBoxColumn dgvc3 = new DataGridViewTextBoxColumn(); dgvc3.DataPropertyName = "PosX"; dgvc3.HeaderText = "PosX"; dgvc3.ReadOnly = true; dg.Columns.Add(dgvc3); DataGridViewTextBoxColumn dgvc4 = new DataGridViewTextBoxColumn(); dgvc4.DataPropertyName = "PosY"; dgvc4.HeaderText = "PosY"; dgvc4.ReadOnly = true; dg.Columns.Add(dgvc4); DataGridViewTextBoxColumn dgvc5 = new DataGridViewTextBoxColumn(); dgvc5.DataPropertyName = "Rotate"; dgvc5.HeaderText = "Rotate"; dgvc5.ReadOnly = true; dg.Columns.Add(dgvc5); DataGridViewTextBoxColumn dgvc6 = new DataGridViewTextBoxColumn(); dgvc6.DataPropertyName = "Value"; dgvc6.HeaderText = "Value"; dgvc6.ReadOnly = true; dg.Columns.Add(dgvc6); DataGridViewTextBoxColumn dgvc7 = new DataGridViewTextBoxColumn(); dgvc7.DataPropertyName = "feederNumber"; dgvc7.HeaderText = "Feeder Number"; dgvc7.ReadOnly = true; dg.Columns.Add(dgvc7); DataGridViewTextBoxColumn dgvc8 = new DataGridViewTextBoxColumn(); dgvc8.DataPropertyName = "ComponentCode"; dgvc8.HeaderText = "Code"; dgvc8.ReadOnly = true; dg.Columns.Add(dgvc8); DataGridViewCheckBoxColumn dgv9 = new DataGridViewCheckBoxColumn(); dgv9.HeaderText = "Pick"; dgv9.Name = "Pick"; dgv9.ReadOnly = false; dg.Columns.Add(dgv9); dg.AutoResizeColumns(); dg.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; // POPDataTable(); }
/// <summary> /// 将字符串按指定的格式添加到DataGridView控件中(如果有被选中的单元格,则修改单元格中的内容). /// </summary> /// <param DGView="DataGridView">DataGridView类</param> /// <param s="string">要替换的单元格字符串</param> /// <param Blank="bool">标识,如果是空格是否替换成空格</param> /// <param All="bool">标识,是否全部替换</param> public void AddDataGridView(DataGridView DGView, string s, bool Blank, bool All) { string tem_str = s; int tem_n = 0; int RowCount = 0;//行数 int CellCount = 0;//列数 bool tem_bool = true; string tem_s = ""; if (s.IndexOf("\r\n") != -1)//如果替换的为多行 while (tem_bool)//获取单元格的行数和列数 { tem_s = ""; if (tem_str.IndexOf("\r\n") != -1)//如果获取的不是最后一行 { tem_s = tem_str.Substring(0, tem_str.IndexOf("\r\n") + 2);//获取当前行中的数据 //获取当前行中能被识别的数据 tem_str = tem_str.Substring(tem_str.IndexOf("\r\n") + 2, tem_str.Length - tem_str.IndexOf("\r\n") - 2); tem_n = 1; while (tem_s.IndexOf("\t") > -1)//遍历当前行中的空格 { //去除已读取的空格 tem_s = tem_s.Substring(tem_s.IndexOf("\t") + 1, tem_s.Length - tem_s.IndexOf("\t") - 1); tem_n += 1;//获取列数 } if (tem_n > CellCount)//判断当前列数是否为最大列数 CellCount = tem_n;//获取最大的列数 } else//如果读取的是最后一行 { tem_n = 1; while (tem_s.IndexOf("\t") > -1) { tem_s = tem_s.Substring(tem_s.IndexOf("\t") + 1, tem_s.Length - tem_s.IndexOf("\t") - 1); tem_n += 1; } if (tem_n > CellCount) CellCount = tem_n; tem_bool = false;//遍历结束 } ++RowCount;//读取行数 } else//如果读取的为单行数据 { tem_n = 1; tem_s = s; while (tem_s.IndexOf("\t") > -1) { tem_s = tem_s.Substring(tem_s.IndexOf("\t") + 1, tem_s.Length - tem_s.IndexOf("\t") - 1); tem_n += 1; } if (tem_n > CellCount) CellCount = tem_n; ++RowCount;//读取行数 } string[,] Strarr = new string[RowCount, CellCount];//定义一个数组,用于记录复制的单元格信息 tem_str = s; tem_n = 0; //将单元格信息添加到数组中 for (int i = 0; i < RowCount; i++)//遍历单元格的行 { for (int j = 0; j < CellCount; j++)//遍历单元格的列 { tem_s = ""; if (tem_str.IndexOf("\r\n") != -1)//如果不是最后一行 { if (tem_str.IndexOf("\t") <= -1)//设置读取数据的位置 tem_n = tem_str.IndexOf("\r");//最后一个数据的位置 else tem_n = tem_str.IndexOf("\t");//不是最后一个数据的位置 tem_s = tem_str.Substring(0, tem_str.IndexOf("\r\n") + 2);//读取单元格数据 } else//如果是最后一行 { if (tem_str.IndexOf("\t") <= -1)//设置读取数据的位置 tem_n = tem_str.Length;//最后一个数据的位置 else tem_n = tem_str.IndexOf("\t");//不是最后一个数据的位置 tem_s = tem_str;//读取单元格数据 } if (tem_s.Length > 0)//如果当前行有数据 { if (tem_s.Substring(0, 1) == "\t")//如果第一个字符为空 Strarr[i, j] = "";//向数组中添加一个空记录 else { Strarr[i, j] = tem_s.Substring(0, tem_n);//向数组中添加数据 } } else Strarr[i, j] = "";//向数组中添加空记录 if (tem_s.Length > tem_n)//如果记录没有读取完 tem_str = tem_s.Substring(tem_n + 1, tem_s.Length - tem_n - 1);//获取没有读取的记录 } if (s.IndexOf("\r\n") > -1)//如果不是最后一行数据 { s = s.Substring(s.IndexOf("\r\n") + 2, s.Length - s.IndexOf("\r\n") - 2);//读取下一行数据 tem_str = s; } } if (All)//如果要全部替换 DGView.Rows.Clear();//清空DataGridView控件 if (DGView.SelectedRows.Count == 0 && DGView.SelectedCells.Count == 0)//如果DataGridView中没有数据 { DGView.ColumnCount = CellCount;//设置列数 string[] stra = new string[CellCount];//定义一个一维数组 //向DataGridView中添加行数据 for (int i = 0; i < RowCount; i++)//读取行 { for (int j = 0; j < CellCount; j++)//读取列 { if (Strarr[i, j] == "")//如果当前单元格为空 { if (Blank)//如果用*号替换 stra[j] = "*";//在空单元格中添加*号 else stra[j] = "";//以空格显示空单元格 } else { stra[j] = Strarr[i, j];//记录当前行中的信息 } } DGView.Rows.Add(stra);//将行中的信息添加到DataGridView控件 } DGView.AutoResizeColumns();//向DataGridView控件添加所有的单元格信息 DGView.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;//将所选择的单元格复制到剪贴板中 } else//如果DataGridView中有数据 { int maxrow = 0;//记录DataGridView控件中最小单元格的行数 int maxcell = 0;//记录DataGridView控件中最小单元格的列数 for (int i = 0; i < DGView.SelectedCells.Count; i++)//获取选中单元格中最大单元格的行数和列数 { if (DGView.SelectedCells[i].RowIndex > maxrow)//如果单元格的行数大于当前指定的行数 maxrow = DGView.SelectedCells[i].RowIndex;//记录当前单元格的行数 if (DGView.SelectedCells[i].ColumnIndex > maxcell)//如果单元格的列数大于当前指定的列数 maxcell = DGView.SelectedCells[i].ColumnIndex;//记录当前单元格的列数 } int minrow = maxrow;//记录DataGridView控件中最大单元格的行数 int mincell = maxcell;//记录DataGridView控件中最大单元格的列数 for (int i = 0; i < DGView.SelectedCells.Count; i++)//获取选中单元格中最小单元格的行数和列数 { if (DGView.SelectedCells[i].RowIndex < minrow)//如果单元格的行数小于当前指定的行数 minrow = DGView.SelectedCells[i].RowIndex;//记录当前单元格的行数 if (DGView.SelectedCells[i].ColumnIndex < mincell)//如果单元格的列数小于当前指定的列数 mincell = DGView.SelectedCells[i].ColumnIndex;//记录当前单元格的列数 } //向DataGridView控件中添加选中单元格中最小单元格与最大单元格中的所有单元格 for (int i = 0; i < maxrow - (minrow - 1); i++)//遍历行数 { if (i >= RowCount)//如果超出要添加的行数 break;//退出循环 for (int j = 0; j < maxcell - (mincell - 1); j++)//遍历列数 { if (j >= CellCount)//如果超出要添加的列数 break;//退出循环 if (Strarr[i, j]=="")//如果添加的单元格为空 { if (Blank)//如果用*号替换空格 DGView.Rows[i + minrow].Cells[j + mincell].Value = "*";//用*号替换空单元格 } else DGView.Rows[i + minrow].Cells[j + mincell].Value = Strarr[i, j];//设置当前单元格的值 } } } }
internal DataGridView CreateView() { var result = new DataGridView { RowHeadersVisible = false, SelectionMode = DataGridViewSelectionMode.RowHeaderSelect, MultiSelect = true }; result.Columns.AddRange(Step.DataGridViewColumns().ToArray()); result.Rows.AddRange(Steps.Select(item => item.CreateRowForStep()).ToArray()); result.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); result.CellClick += (a, b) => Steps[b.RowIndex].OnSelect(b.ColumnIndex, SourceView); return result; }
public static void cargarGrilla(DataGridView grid, System.Data.DataTable dataTable) { grid.DataSource = dataTable; grid.AutoResizeColumns(); //ajusta el tamaño de las columnas y filas a su contenido grid.AutoResizeRows(); }
private void FillForm() { EnableDisableAllControls(true); // update title again UpdateTitle(issue); if (RedmineClientForm.RedmineVersion >= ApiVersion.V13x) { if (RedmineClientForm.RedmineVersion >= ApiVersion.V14x) { ComboBoxAssignedTo.DataSource = DataCache.ProjectMembers; ComboBoxAssignedTo.DisplayMember = "Name"; ComboBoxAssignedTo.ValueMember = "Id"; } else ComboBoxAssignedTo.Enabled = false; ComboBoxStatus.DataSource = DataCache.Statuses; ComboBoxStatus.DisplayMember = "Name"; ComboBoxStatus.ValueMember = "Id"; ComboBoxTargetVersion.DataSource = DataCache.Versions; ComboBoxTargetVersion.DisplayMember = "Name"; ComboBoxTargetVersion.ValueMember = "Id"; ComboBoxTracker.DataSource = DataCache.Trackers; ComboBoxTracker.DisplayMember = "Name"; ComboBoxTracker.ValueMember = "Id"; ComboBoxCategory.DataSource = DataCache.Categories; ComboBoxCategory.DisplayMember = "Name"; ComboBoxCategory.ValueMember = "Id"; //this.ListBoxWatchers.DataSource = RedmineClientForm.DataCache.Watchers; //this.ListBoxWatchers.DisplayMember = "Name"; //this.ListBoxWatchers.ClearSelected(); } else { ComboBoxAssignedTo.Enabled = false; ComboBoxStatus.Enabled = false; ComboBoxTargetVersion.Enabled = false; ComboBoxTracker.Enabled = false; ComboBoxCategory.Enabled = false; BtnCloseButton.Visible = false; } ComboBoxPriority.DataSource = Enumerations.IssuePriorities; ComboBoxPriority.DisplayMember = "Name"; ComboBoxPriority.ValueMember = "Id"; foreach (Enumerations.EnumerationItem i in Enumerations.IssuePriorities) { if (i.IsDefault) { ComboBoxPriority.SelectedValue = i.Id; break; } } if (this.type == DialogType.Edit) { if (issue.AssignedTo != null) { if (RedmineClientForm.RedmineVersion >= ApiVersion.V14x) { ComboBoxAssignedTo.SelectedValue = issue.AssignedTo.Id; } else { ComboBoxAssignedTo.Items.Add(issue.AssignedTo); ComboBoxAssignedTo.DisplayMember = "Name"; ComboBoxAssignedTo.ValueMember = "Id"; ComboBoxAssignedTo.SelectedItem = issue.AssignedTo; } } if (issue.Description != null) { issue.Description = Regex.Replace(issue.Description, "(?<!\r)\n", "\r\n"); TextBoxDescription.Text = issue.Description; } TextBoxEstimatedTime.Text = issue.EstimatedHours.ToString(); numericUpDown1.Value = Convert.ToDecimal(issue.DoneRatio); ComboBoxPriority.SelectedValue = issue.Priority.Id; cbStartDate.Checked = issue.StartDate.HasValue; DateStart.Enabled = cbStartDate.Checked; if (issue.StartDate.HasValue) DateStart.Value = issue.StartDate.Value; cbDueDate.Checked = issue.DueDate.HasValue; DateDue.Enabled = cbDueDate.Checked; if (issue.DueDate.HasValue) DateDue.Value = issue.DueDate.Value; if (RedmineClientForm.RedmineVersion >= ApiVersion.V13x) { ComboBoxStatus.SelectedValue = issue.Status.Id; ComboBoxTracker.SelectedValue = issue.Tracker.Id; if (issue.Category != null) ComboBoxCategory.SelectedValue = issue.Category.Id; } else { ComboBoxStatus.Items.Add(issue.Status); ComboBoxStatus.DisplayMember = "Name"; ComboBoxStatus.ValueMember = "Id"; ComboBoxStatus.SelectedItem = issue.Status; ComboBoxTracker.Items.Add(issue.Tracker); ComboBoxTracker.DisplayMember = "Name"; ComboBoxTracker.ValueMember = "Id"; ComboBoxTracker.SelectedItem = issue.Tracker; if (issue.Category != null) { ComboBoxCategory.Items.Add(issue.Category); ComboBoxCategory.DisplayMember = "Name"; ComboBoxCategory.ValueMember = "Id"; ComboBoxCategory.SelectedItem = issue.Category; } } TextBoxSubject.Text = issue.Subject; if (issue.FixedVersion != null) { if (RedmineClientForm.RedmineVersion >= ApiVersion.V13x) { ComboBoxTargetVersion.SelectedValue = issue.FixedVersion.Id; } else { ComboBoxTargetVersion.Items.Add(issue.FixedVersion); ComboBoxTargetVersion.DisplayMember = "Name"; ComboBoxTargetVersion.ValueMember = "Id"; ComboBoxTargetVersion.SelectedItem = issue.FixedVersion; } } if (issue.CustomFields != null && issue.CustomFields.Count != 0) { List<ClientCustomField> customFields = new List<ClientCustomField>(); foreach (IssueCustomField cf in issue.CustomFields) { ClientCustomField field = new ClientCustomField(); field.Name = cf.Name; if (cf.Values != null && cf.Values.Count != 0) { foreach (CustomFieldValue cfv in cf.Values) { if (field.Value == null) field.Value = cfv.Info; else field.Value += ", " + cfv.Info; } } customFields.Add(field); } DataGridViewCustomFields.DataSource = customFields; DataGridViewCustomFields.RowHeadersVisible = false; DataGridViewCustomFields.ColumnHeadersVisible = false; try // Very ugly trick to fix the mono crash reported in the SF.net forum { DataGridViewCustomFields.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } catch (Exception) { } DataGridViewCustomFields.Columns["Value"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; } else DataGridViewCustomFields.Visible = false; if (issue.Attachments != null) { dataGridViewAttachments.RowHeadersVisible = false; dataGridViewAttachments.ColumnHeadersVisible = false; AttachAttachements(issue.Attachments); } // if the issue has children, show them. if (issue.Children != null && issue.Children.Count > 0) { LabelChildren = new Label(); LabelChildren.AutoSize = true; LabelChildren.Location = new System.Drawing.Point(TextBoxDescription.Location.X, linkEditInRedmine.Location.Y); LabelChildren.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); LabelChildren.Name = "LabelChildren"; LabelChildren.Size = new System.Drawing.Size(44, 13); LabelChildren.TabIndex = 4; LabelChildren.Text = Lang.LabelChildren; LabelChildren.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); Controls.Add(LabelChildren); DataGridViewChildren = new DataGridView(); DataGridViewChildren.AllowUserToAddRows = false; DataGridViewChildren.AllowUserToDeleteRows = false; DataGridViewChildren.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; DataGridViewChildren.Location = new System.Drawing.Point(TextBoxDescription.Location.X, linkEditInRedmine.Location.Y + 19); DataGridViewChildren.MultiSelect = false; DataGridViewChildren.Name = "DataGridViewChildren"; DataGridViewChildren.ReadOnly = true; DataGridViewChildren.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; DataGridViewChildren.Size = new System.Drawing.Size(TextBoxDescription.Width, 69); DataGridViewChildren.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.DataGridViewChildren_CellFormatting); DataGridViewChildren.TabIndex = 26; DataGridViewChildren.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; DataGridViewChildren.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); DataGridViewChildren.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DataGridViewChildren_CellDoubleClick); Controls.Add(DataGridViewChildren); DataGridViewChildren.DataSource = issue.Children; try // Very ugly trick to fix the mono crash reported in the SF.net forum { DataGridViewChildren.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } catch (Exception) { } DataGridViewChildren.RowHeadersWidth = 20; foreach (DataGridViewColumn column in DataGridViewChildren.Columns) { if (column.Name != "Id" && column.Name != "Subject") { column.Visible = false; } } DataGridViewChildren.Columns["Id"].DisplayIndex = 0; DataGridViewChildren.Columns["Subject"].DisplayIndex = 1; DataGridViewChildren.Columns["Subject"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; SuspendLayout(); // first set size, then alter minimum size; otherwise dialog is expanded twice. Size = new System.Drawing.Size(Size.Width, Size.Height + ChildrenHeight); MinimumSize = new System.Drawing.Size(MinimumSize.Width, MinimumSize.Height + ChildrenHeight); linkEditInRedmine.MoveControl(0, ChildrenHeight); BtnCancelButton.MoveControl(0, ChildrenHeight); BtnCloseButton.MoveControl(0, ChildrenHeight); BtnSaveButton.MoveControl(0, ChildrenHeight); ResumeLayout(false); } if (issue.ParentIssue != null && issue.ParentIssue.Id != 0) { LabelParent = new Label(); LabelParent.AutoSize = true; System.Drawing.Font defaultFont = (System.Drawing.Font)labelDescription.Font.Clone(); LabelParent.Font = new System.Drawing.Font(defaultFont.FontFamily, defaultFont.Size, System.Drawing.FontStyle.Italic, defaultFont.Unit, defaultFont.GdiCharSet); LabelParent.Location = new System.Drawing.Point(TextBoxDescription.Location.X, linkEditInRedmine.Location.Y); LabelParent.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); LabelParent.Name = "LabelParent"; LabelParent.Size = new System.Drawing.Size(44, 13); LabelParent.TabIndex = 4; LabelParent.Text = String.Format(Lang.LabelParent, issue.ParentIssue.Id, issue.ParentIssue.Name); LabelParent.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); Controls.Add(LabelParent); SuspendLayout(); // first set size, then alter minimum size; otherwise dialog is expanded twice. Size = new System.Drawing.Size(Size.Width, Size.Height + ParentHeight); MinimumSize = new System.Drawing.Size(MinimumSize.Width, MinimumSize.Height + ParentHeight); linkEditInRedmine.MoveControl(0, ParentHeight); BtnCancelButton.MoveControl(0, ParentHeight); BtnCloseButton.MoveControl(0, ParentHeight); BtnSaveButton.MoveControl(0, ParentHeight); ResumeLayout(false); if (Size.Width < LabelParent.Width + 30) Size = new System.Drawing.Size(LabelParent.Width + 30, Size.Height); if (MinimumSize.Width < LabelParent.Width + 30) MinimumSize = new System.Drawing.Size(LabelParent.Width + 30, MinimumSize.Height); } // if the issue has relations, show them. if (issue.Relations != null && issue.Relations.Count > 0) { LabelRelations = new Label(); LabelRelations.AutoSize = true; LabelRelations.Location = new System.Drawing.Point(TextBoxDescription.Location.X, linkEditInRedmine.Location.Y); LabelRelations.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); LabelRelations.Name = "LabelRelations"; LabelRelations.Size = new System.Drawing.Size(44, 13); LabelRelations.TabIndex = 4; LabelRelations.Text = Lang.LabelRelations; LabelRelations.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); Controls.Add(LabelRelations); DataGridViewRelations = new DataGridView(); DataGridViewRelations.AllowUserToAddRows = false; DataGridViewRelations.AllowUserToDeleteRows = false; DataGridViewRelations.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; DataGridViewRelations.Location = new System.Drawing.Point(TextBoxDescription.Location.X, linkEditInRedmine.Location.Y + 19); DataGridViewRelations.MultiSelect = false; DataGridViewRelations.Name = "DataGridViewRelations"; DataGridViewRelations.ReadOnly = true; DataGridViewRelations.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; DataGridViewRelations.Size = new System.Drawing.Size(TextBoxDescription.Width, 69); DataGridViewRelations.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.DataGridViewRelations_CellFormatting); DataGridViewRelations.TabIndex = 26; DataGridViewRelations.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; DataGridViewRelations.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); DataGridViewRelations.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DataGridViewRelations_CellDoubleClick); Controls.Add(DataGridViewRelations); DataGridViewRelations.DataSource = issueRelations; try // Very ugly trick to fix the mono crash reported in the SF.net forum { DataGridViewRelations.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells); } catch (Exception) { } DataGridViewRelations.RowHeadersWidth = 20; foreach (DataGridViewColumn column in DataGridViewRelations.Columns) { if (column.Name != "Id" && column.Name != "IssueToSubject" && column.Name != "Type" && column.Name != "IssueToStatus") { column.Visible = false; } } DataGridViewRelations.Columns["Type"].DisplayIndex = 0; DataGridViewRelations.Columns["Type"].HeaderText = "Relation"; DataGridViewRelations.Columns["Id"].DisplayIndex = 1; DataGridViewRelations.Columns["IssueToSubject"].DisplayIndex = 2; DataGridViewRelations.Columns["IssueToSubject"].HeaderText = "Subject"; DataGridViewRelations.Columns["IssueToSubject"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; DataGridViewRelations.Columns["IssueToStatus"].DisplayIndex = 3; DataGridViewRelations.Columns["IssueToStatus"].HeaderText = "Status"; SuspendLayout(); // first set size, then alter minimum size; otherwise dialog is expanded twice. Size = new System.Drawing.Size(Size.Width, Size.Height + RelationsHeight); MinimumSize = new System.Drawing.Size(MinimumSize.Width, MinimumSize.Height + RelationsHeight); linkEditInRedmine.MoveControl(0, RelationsHeight); BtnCancelButton.MoveControl(0, RelationsHeight); BtnCloseButton.MoveControl(0, RelationsHeight); BtnSaveButton.MoveControl(0, RelationsHeight); ResumeLayout(false); } } else // type new { cbStartDate.Checked = true; DateStart.Enabled = cbStartDate.Checked; DateDue.Enabled = cbDueDate.Checked; } }