I am inserting pictures into cells in my ultragrid instance. I am trying to have it display the cells in a way that there is no spacing in between them, not even 1 pixel. I've tried all of the below but still a little 2pixel white line exists. Any idea how I might remove that line?
Thank You,
Tim
Private Sub ugMain_InitializeRow(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeRowEventArgs) Handles ugMain.InitializeRow
e.Row.RowSpacingAfter = 0
e.Row.RowSpacingBefore = 0
End Sub
Private Sub UltraGrid1_InitializeLayout(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs) Handles ugMain.InitializeLayout
'show numbers for the rows
e.Layout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.True
e.Layout.Override.RowSelectorNumberStyle = Infragistics.Win.UltraWinGrid.RowSelectorNumberStyle.VisibleIndex
e.Layout.Override.RowSelectorHeaderStyle = Infragistics.Win.UltraWinGrid.RowSelectorHeaderStyle.SeparateElement
e.Layout.Override.RowSelectorHeaderAppearance.TextHAlign = Infragistics.Win.HAlign.Center
'set size
e.Layout.Override.MinRowHeight = e.Layout.Override.DefaultColWidth
e.Layout.Override.DefaultRowHeight = 30
e.Layout.Override.DefaultColWidth = 30
'selection
e.Layout.Override.SelectTypeCol = Infragistics.Win.UltraWinGrid.SelectType.None
e.Layout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.None
e.Layout.Override.HeaderClickAction = Infragistics.Win.UltraWinGrid.HeaderClickAction.Select
e.Layout.Override.SelectTypeCell = Infragistics.Win.UltraWinGrid.SelectType.SingleAutoDrag
e.Layout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.CellSelect
'disable sizing
e.Layout.Override.AllowColSizing = Infragistics.Win.UltraWinGrid.AllowColSizing.None
e.Layout.Override.RowSizing = Infragistics.Win.UltraWinGrid.RowSizing.Fixed
'center the cell images
e.Layout.Override.CellAppearance.ImageHAlign = Infragistics.Win.HAlign.Center
e.Layout.Override.CellAppearance.ImageVAlign = Infragistics.Win.VAlign.Middle
e.Layout.Override.CellAppearance.BorderAlpha = Infragistics.Win.Alpha.Transparent
e.Layout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.None
e.Layout.Override.BorderStyleRow = Infragistics.Win.UIElementBorderStyle.None
e.Layout.Override.ButtonStyle = Infragistics.Win.UIElementButtonStyle.Borderless
e.Layout.Override.RowAppearance.BorderAlpha = Infragistics.Win.Alpha.Transparent
e.Layout.Override.RowAppearance.BackColor = Color.White
e.Layout.Override.CellPadding = -5
e.Layout.Override.CellSpacing = -5
Set CellSpacing and CellPadding to 0 and not -5. Negative numbers are not valid.
Thanks for the reply.
I set all the negative values to 0 but no change in the spacing.
Hello,
What you could do in your case is to set BorderStyle of Cells and Rows to none in InitializeLayoutEvent you could use code like:
e.Layout.Override.CellSpacing = 0;
e.Layout.Override.CellPadding = 0;
e.Layout.Override.BorderStyleCell = Infragistics.Win.UIElementBorderStyle.None;
e.Layout.Override.BorderStyleRow = Infragistics.Win.UIElementBorderStyle.None;
e.Layout.Override.BorderStyleHeader = Infragistics.Win.UIElementBorderStyle.None;
And also instead to set CellValue to be Image, add cell appearance
cell.Appearance.ImageBackground = img;
cell.Appearance.ImageBackgroundStyle = Infragistics.Win.ImageBackgroundStyle.Stretched;
cell.Appearance.ImageBackgroundStretchMargins = new Infragistics.Win.ImageBackgroundStretchMargins(0, 0, 0, 0);
On this way you will get as minimum as possible spacing between cells.
I hope that this will helps you.
Thank You! That worked well.