Hide grid lines in a specific row in a DataGridView

I want to get an empty string. So I want to hide the grid lines in a specific row. How can i do this?

Exists

Grid.CellBorderStyle = DataGridViewCellBorderStyle.None; 

but it can be applied to the grid.

+7
source share
2 answers

Unconfirmed, but you can get what you need by handling the CellPainting event and excluding DataGridViewParts.Border

  e.Paint(e.ClipBounds, DataGridViewPaintParts.All ^ DataGridViewPaintParts.Border); e.Handled = true; 
+1
source

This is not ideal, but I hope you can get some idea.

DataGridView construct

 this.dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.None; this.dataGridView1.AllowUserToResizeRows = false; this.dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e) { if (e.RowIndex == -1) return; // Calculate the bounds of the row. Rectangle rowBounds = new Rectangle( this.dataGridView1.RowHeadersWidth, e.RowBounds.Top, this.dataGridView1.Columns.GetColumnsWidth( DataGridViewElementStates.Visible) - this.dataGridView1.HorizontalScrollingOffset + 1, e.RowBounds.Height); // Paint the custom background. using (Brush backbrush = new SolidBrush(this.dataGridView1.GridColor), backColorBrush = new SolidBrush(Color.White)) { using (Pen gridLinePen = new Pen(backbrush)) { //Apply to spicific row if (e.RowIndex == 2) { e.Graphics.FillRectangle(backbrush, rowBounds); // Draw the inset highlight box. e.Graphics.DrawRectangle(Pens.Blue, rowBounds); } } } } private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) { if (e.RowIndex == -1) return; if (e.Value != null) { // Draw the text content of the cell, ignoring alignment of e.RowIndex != 2 if (e.RowIndex != 2) { e.Graphics.DrawString((String)e.Value, e.CellStyle.Font, Brushes.Black, e.CellBounds.X + 2, e.CellBounds.Y + 2, StringFormat.GenericDefault); } } e.Handled = true; } 

Literature:
DataGridView.RowPrePaint event
DataGridView.CellPainting Event

0
source

All Articles