Where would I find the GridLineDataGridView component?

Posted on 2008-06-24
Last Modified: 2013-11-26
ipaulino has just answered a previous question about my datagridview but using a GridLineDataGridView component.

I just can't find this on the Visual Studio toolbox anywhere. Could somebody point me in the right direction please??


Question by:jerute
LVL 48

Accepted Solution

jpaulino earned 250 total points
ID: 21856625
Hi again!

Add the code on the snippet to a new class (clean all code from the new class and paste the code snippet). Then build your project.

The component will be available on the top of the toolbox.
Class GridLineDataGridView

	Inherits DataGridView


	Protected Overloads Overrides Sub OnPaint(ByVal e As PaintEventArgs)



		Dim rowHeight As Integer = Me.RowTemplate.Height

		Dim h As Integer = Me.ColumnHeadersHeight + rowHeight * Me.RowCount

		Dim imgWidth As Integer = Me.Width - 2

		Dim rFrame As New Rectangle(0, 0, imgWidth, rowHeight)

		Dim rFill As New Rectangle(1, 1, imgWidth - 2, rowHeight)

		Dim rowHeader As New Rectangle(2, 2, Me.RowHeadersWidth - 3, rowHeight)


		Dim pen As New Pen(Me.GridColor, 1)

		Dim rowImg As New Bitmap(imgWidth, rowHeight)

		Dim g As Graphics = Graphics.FromImage(rowImg)

		g.DrawRectangle(pen, rFrame)

		g.FillRectangle(New SolidBrush(Me.DefaultCellStyle.BackColor), rFill)

		g.FillRectangle(New SolidBrush(Me.RowHeadersDefaultCellStyle.BackColor), rowHeader)


		Dim rowImgAAlternative As Bitmap = TryCast(rowImg.Clone(), Bitmap)

		Dim g2 As Graphics = Graphics.FromImage(rowImgAAlternative)

		rFill.X += Me.RowHeadersWidth - 1

		g2.FillRectangle(New SolidBrush(Me.AlternatingRowsDefaultCellStyle.BackColor), rFill)


		Dim w As Integer = Me.RowHeadersWidth - 1

		For j As Integer = 0 To Me.ColumnCount - 1

			g.DrawLine(pen, New Point(w, 0), New Point(w, rowHeight))

			g2.DrawLine(pen, New Point(w, 0), New Point(w, rowHeight))

			w += Me.Columns(j).Width



		Dim [loop] As Integer = (Me.Height - h) / rowHeight

		For j As Integer = 0 To [loop]

			Dim index As Integer = Me.RowCount + j

			If index Mod 2 = 0 Then

				e.Graphics.DrawImage(rowImg, 1, h + j * rowHeight)


				e.Graphics.DrawImage(rowImgAAlternative, 1, h + j * rowHeight)

			End If



	End Sub


End Class

Open in new window


Author Comment

ID: 21856795


Thanks again. LOL.

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor ( If you're interested in additional methods for monitoring bandwidt…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now