I have a windows forms .net 1.1 question:
I tried adding an image (a picturebox) to a column in my grid, but haven't
been able to do it adequately. The pictures are there, but they don't seem
to be visible until I click on a cell and then the picture is visible. Not
sure what's going on.
Can you tell from the following code, or is there a better way:
Sub DoAssessmentGrid()
If bus.AssessmentList(ActionRequested.CaseNumber) Then
Dim ts As DataGridTableStyle
ts = dgAssessments.TableStyles(0)
ts.MappingName = "ClientAssessments"
Dim booleanColumn As DataGridBoolColumn
booleanColumn = ts.GridColumnStyles.Item("CompleteBool")
booleanColumn.TrueValue = True
booleanColumn.FalseValue = False
booleanColumn.NullValue = Convert.DBNull
Try
Dim executing_assembly As System.Reflection.Assembly =
Me.GetType.Assembly.GetEntryAssembly()
Dim my_namespace As String =
executing_assembly.GetName().Name.ToString()
If Not ts.GridColumnStyles.Item("Action") Is Nothing Then
ActionColumn = CType(ts.GridColumnStyles.Item("Action"),
DataGridTextBoxColumn)
ActionColumn.Alignment = HorizontalAlignment.Center
imgEdit = New PictureBox
imgExport = New PictureBox
Dim curDir As String = Environment.CurrentDirectory()
imgEdit.Image =
Image.FromFile("D:\OKDHS\AGING\ELDERS\ELDERSRemote\images\Edit.gif")
imgEdit.Cursor = Cursors.Arrow
imgEdit.SendToBack()
imgExport.Image =
Image.FromFile("D:\OKDHS\AGING\ELDERS\ELDERSRemote\images\btnExport.gif")
imgExport.Cursor = Cursors.Arrow
imgExport.SendToBack()
ActionColumn.TextBox.Controls.Add(imgEdit)
imgEdit.BringToFront()
'ActionColumn.Width = 65
'ActionColumn.TextBox.Controls.Add(imgExport)
End If
Catch ex As System.IO.FileNotFoundException
SystemMessage.Tell("Couldn't find one of the image files for
the grid")
Catch ex As Exception
End Try
dgAssessments.DataSource = bus.ObjectDataSet
dgAssessments.DataMember = ts.MappingName
End If
End Sub
Keith - 10 Aug 2006 15:51 GMT
I'm not going to try and digest your code at the moment, but here's a link I
constantly use when I'm dealing with unique datagrid content in 1.1:
http://www.codeproject.com/dotnet/DataGridEdtAlmostAnythin.asp?df=100&forumid=15
7727&exp=0&select=1168287
> I have a windows forms .net 1.1 question:
> I tried adding an image (a picturebox) to a column in my grid, but haven't
[quoted text clipped - 51 lines]
> End If
> End Sub
Claes Bergefall - 10 Aug 2006 16:27 GMT
You are adding your image as a a control (PictureBox) to the textbox
contained in a DataGridTextBoxColumn. That textbox, and hence your
picturebox, is only visible when the cell is active. When the cell is not
active the content is drawn by the overriden Paint method in
DataGridTextBoxColumn.
You need to create you own class derived from DataGridColumnStyle and
override it's Paint method. Item 5.24 in the FAQ found here might help:
http://www.syncfusion.com/faq/windowsforms/Default.aspx
/claes
>I have a windows forms .net 1.1 question:
> I tried adding an image (a picturebox) to a column in my grid, but haven't
[quoted text clipped - 55 lines]
> End If
> End Sub