Hello all,
I am trying to bind an UnBound column of type Checkbox which is displayed as an IMAGE. However, after binding, i cannot view the image. The column appears as white empty cell. However, the column works properly as a checkbox when i click on that empty cell. Here is the code that i wrote that adds the unbound column.
//--------------------------------------------------------//ADD DELETE Column in the beginning.//--------------------------------------------------------if (!ugProcedures.DisplayLayout.Bands[0].Columns.Exists("Delete")){ ugProcedures.DisplayLayout.Bands[0].Columns.Insert(0, "Delete");
ugProcedures.DisplayLayout.Bands[0].Columns[0].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox; ugProcedures.DisplayLayout.Bands[0].Columns[0].DataType = System.Type.GetType("System.Byte[]"); // true.GetType(); ugProcedures.DisplayLayout.Bands[0].Columns[0].Header.Caption = "Delete"; ugProcedures.DisplayLayout.Bands[0].Columns[0].Header.VisiblePosition = 0; Infragistics.Win.EmbeddableImageRenderer imgEditor = new Infragistics.Win.EmbeddableImageRenderer(); Bitmap bmpCellImage = Properties.Resources.deleteButton; imgEditor.DefaultImage = bmpCellImage; imgEditor.ScaleImage = Infragistics.Win.ScaleImage.Never; //imgEditor.ScaleImage = Infragistics.Win.ScaleImage.Always; ugProcedures.DisplayLayout.Bands[0].Columns[0].Editor = imgEditor; } else { if (ugProcedures.DisplayLayout.Bands[0].Columns["Delete"].Header.VisiblePosition != 0) { ugProcedures.DisplayLayout.Bands[0].Columns["Delete"].Header.VisiblePosition = 0; } ugProcedures.DisplayLayout.Bands[0].Columns[0].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox; //ugProcedures.DisplayLayout.Bands[0].Columns[0].DataType = true.GetType(); ugProcedures.DisplayLayout.Bands[0].Columns[0].Header.Caption = "Delete"; ugProcedures.DisplayLayout.Bands[0].Columns[0].Hidden = false; }
Thanks in Advance.
Scott.
Hi Scott,
I was experiencing the same issue with images in CheckBox columns in a grid.
I think it can be resolve just by setting the "CheckAlign" to "MiddleRight" OR the image align to the right (but not both at same time or you will reproduce the same case).
To set the "CheckAlign" of the CheckBox styled column you have to cast the UltraGRidColumn.EditorResolved to CheckEditor and the "CheckAlign" property will be available.
I was trying to set images in a such column and I discovered the check box was hiding the image in fact.
I am looking for a more beautiful HMI solution than this one because if you have a large column the check box and the image will be at the opposites sides of the cell.
Hope this helps.
Regards.
Mike,
I am having an issue with the gridview also. I have a column that is bound to a boolean to know if the row has attached files. I have another column that is unbound. in the "InitializeRow" event I am testing for the boolean. if true display a paperclip image, else do nothing to the unbound column/cell. I renders without error, but the image does not appear. Now here is where the fun begins. I have a document exporter wired to send the grid to a pdf or xps. If I export it to either of those, the image shows on the export. Code snipper below...
private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e) { Infragistics.Win.UltraWinGrid.UltraGridRow row = e.Row; . . . bool attach = (bool)row.Cells["Attachment"].Value; . . . switch (attach) { case true: row.Cells["AttachmentsIcon"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Image; row.Cells["AttachmentsIcon"].Appearance.Image = GridIcons.Images[0]; break; case false: row.Cells["AttachmentsIcon"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.Image; row.Cells["AttachmentsIcon"].Appearance.Image = null; break; default: break; }}
Any help is appreciated
Bob
Hi Bob,
This code doesn't work because you are doing two separate, contradictory, things.
Setting the Style of the column to Image makes the cell display it's Value as an image. But your unbound cell probably has no value.
The Appearance.Image property applies an image to a cell that contains some other value already. The Image Style on a column already display the cell's Value as an image, so it doesn't really make sense for that cell to also display the cell's appearance as an additional image.
By the way, you are setting the Style on the cell in both cases, so that's a bit redundant. It would be a lot more efficient to set the Style on the entire column in the InitializeLayout event of the grid. At the same point, you could also set the DataType on the column to Image. Then you could set the Value of the cell in InitializeRow.
I have complained about this issue on the customer service surveys and have no way of sending this directly so you are getting my reply via the forum. You do a good job at finding flaws in code, but I see little in actual code examples you have posted to help people. Yes the code had redundant lines. I have been trying to get something to work and gave you the code "as is" for assistance, not a code critique. Additionally, I found the problem and fixed it, but I had to go to a non-Infragistics site to get real help for your product. Don't get me wrong. The product is very good and very powerful. It is the support side of the house that is lacking.