Hi,
I am having a different kind of requirement.
I have two lines of text in a single cell in Ultrawingrid.
I have to apply font size of 14 and color black to first line text.
And font size of 12 and color blue to second line text.
Could you please let me know how to do it?
Thanks,
Venkat.
I validated xml and it seems valid xml. still its showing the same as above given screen shot in previous reply. Any further suggestion? The same kind of text is showing properly on other cells of the ultra grid. it seems if its first cell or first time such data comes in cell then only such issue happens.
Thanks.
If the cell is showing the Xml instead of the formatting, then that almost-certainly indicates that the Xml is somehow invalid. What I would do is put an UltraFormattedTextEditor control on your form (or another form in another project) and then go to the Value property in the property grid and click the ellipsis. This will bring up the FormattedText editor dialog. You can paste the value of this particular cell into that window and it will display any error messages that occur when parting the Xml, so that might help you narrow it down. And you can edit the Xml in place to try to fix it.
I used UltraFormattedTextEditor in cell to display formatted text containing text, image and button within. for first record in grid if it contains image then it seems its not converting text properly to display. the same code works fine for other cells of the same grid.
see above - yellow highlighted text has issue - where it displays img tag and not actual image. in below row, where it displays 780 properly with red image besides.
below is code for the same.
private void uRGrid_InitializeRow(object sender, InitializeRowEventArgs e) { UltraGridBand m_band = e.Row.Band; Infragistics.Win.Appearance appearance01 = new Infragistics.Win.Appearance(); Infragistics.Win.Appearance appearance02 = new Infragistics.Win.Appearance(); appearance01.BackColor = Color.White; appearance01.FontData.Name = new Font("Trebuchet MS", 9F).ToString();//, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))).ToString(); appearance02.BackColor = Color.Red; appearance02.FontData.Name = new Font("Trebuchet MS", 7F).ToString();//, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))).ToString();
//_uRGrid.UseAppStyling = false; //_uRGrid.DisplayLayout.Appearance = appearance02; try { for (int i = 1; i < m_band.Columns.Count - (CintRGridColumnsToHide - 1); i++) { string myValue = (string)e.Row.Cells[i].Value; myValue = myValue.Replace("&", "&"); myValue = myValue.Replace("'", "'"); myValue = myValue.Replace("\"", """); myValue = myValue.Replace("<", "<"); myValue = myValue.Replace(">", ">");
m_band.Columns[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; string strrValue = myValue; string strrValOnly = string.Empty; string strRefRangeWithUnit = string.Empty; string strxmlRefRangeWithUnit = string.Empty; int foundRefRangeUnit = strrValue.IndexOf("\n"); if (foundRefRangeUnit > 0) { //it means unit ref range string is present so format it with 7 font size strRefRangeWithUnit = strrValue.Substring(foundRefRangeUnit); //strRefRangeWithUnit = strRefRangeWithUnit.Replace("&", "&"); //strRefRangeWithUnit = strRefRangeWithUnit.Replace("\"", """); //strRefRangeWithUnit = strRefRangeWithUnit.Replace("'", "'"); //strRefRangeWithUnit = strRefRangeWithUnit.Replace("<", "<"); //strRefRangeWithUnit = strRefRangeWithUnit.Replace(">", ">"); if (!string.IsNullOrEmpty(strRefRangeWithUnit)) { strrValOnly = strrValue.Substring(0, foundRefRangeUnit); strxmlRefRangeWithUnit = "<span style=\"font-size:7pt;\">" + strRefRangeWithUnit + "</span>"; strxmlRefRangeWithUnit = strxmlRefRangeWithUnit.Replace("\n", "<br/>"); //strrValue = strrValue.Substring(0, foundRefRangeUnit + 1) + "<span style=\"font-size:7pt;\">" + strRefRangeWithUnit + "</span>"; } }
//string strRefRangeWithUnit = FormatReferenceRangeForDisplay(strLowerBound, strUpperBound, strUoM);
//e.Row.Cells[0].Value = "<font size=\"7.25pt\">This way the\n text size is altered even\n when the cell is not in edit mode.</font>"; //e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; //e.Row.Cells[i].Value = myValue + "<span style=\"font-size:5.25pt;\">
My Tes</span>"; UltraFormattedTextEditor uViewHistoryTextEditor = new UltraFormattedTextEditor(); UltraFormattedTextEditor ultraFormattedTextEditor = new UltraFormattedTextEditor();
string abn = (string)e.Row.Cells[i + 2].Value; string strHasrCorrectionHistory = (string)e.Row.Cells[i + 4].Value.ToString().ToUpper(); bool isFullEditorDisplay = true; StringBuilder sb = new StringBuilder(); string imageString = string.Empty; switch (abn.ToUpper()) { case "H": imageString = GetImageTag(ImageServer.GetImage("r_H")); sb.Append(imageString); e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; //e.Row.Cells[i].Value = e.Row.Cells[i].Value + sb.ToString(); //e.Row.Cells[i].Appearance.Image = ImageServer.GetImage("r_High"); //e.Row.Cells[i].Appearance.ImageHAlign = HAlign.Right; //e.Row.Cells[i].Appearance.ImageVAlign = VAlign.Top; //e.Row.Cells[i].CellDisplayStyle = CellDisplayStyle.FullEditorDisplay; break; case "L": imageString = GetImageTag(ImageServer.GetImage("r_L")); sb.Append(imageString); e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; //e.Row.Cells[i].Value = e.Row.Cells[i].Value + sb.ToString(); //e.Row.Cells[i].Appearance.Image = ImageServer.GetImage("r_Low"); //e.Row.Cells[i].Appearance.ImageHAlign = HAlign.Right; //e.Row.Cells[i].Appearance.ImageVAlign = VAlign.Top; //e.Row.Cells[i].CellDisplayStyle = CellDisplayStyle.FullEditorDisplay; break; case "HH": imageString = GetImageTag(ImageServer.GetImage("r_C")); sb.Append(imageString); e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; ////e.Row.Cells[i].Value = e.Row.Cells[i].Value + sb.ToString(); ////e.Row.Cells[i].Appearance.Image = ImageServer.GetImage("r_CriticalHigh"); ////e.Row.Cells[i].Appearance.ImageHAlign = HAlign.Right; ////e.Row.Cells[i].Appearance.ImageVAlign = VAlign.Top; ////e.Row.Cells[i].CellDisplayStyle = CellDisplayStyle.FullEditorDisplay; break; default: //e.Row.Cells[i].CellDisplayStyle = CellDisplayStyle.FormattedText; isFullEditorDisplay = false; break; } if (foundRefRangeUnit > 0) { m_band.Columns[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; if (!string.IsNullOrEmpty(sb.ToString())) { ultraFormattedTextEditor.Text = strrValOnly?.Trim() + sb.ToString().Trim() + strxmlRefRangeWithUnit?.Trim(); ultraFormattedTextEditor.Value = strrValOnly?.Trim() + sb.ToString().Trim() + strxmlRefRangeWithUnit?.Trim(); e.Row.Cells[i].Value = strrValOnly?.Trim() + sb.ToString().Trim() + strxmlRefRangeWithUnit?.Trim(); e.Row.Cells[i].EditorComponent = ultraFormattedTextEditor; e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; } else { e.Row.Cells[i].Value = strrValOnly?.Trim() + strxmlRefRangeWithUnit?.Trim(); ultraFormattedTextEditor.Text = strrValOnly?.Trim() + strxmlRefRangeWithUnit?.Trim(); ultraFormattedTextEditor.Value = strrValOnly?.Trim() + strxmlRefRangeWithUnit?.Trim(); e.Row.Cells[i].EditorComponent = ultraFormattedTextEditor; e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; }
} else { if (!string.IsNullOrEmpty(sb.ToString())) { ultraFormattedTextEditor.Text = myValue?.Trim() + sb.ToString().Trim(); ultraFormattedTextEditor.Value = myValue?.Trim() + sb.ToString().Trim(); e.Row.Cells[i].Value = myValue?.Trim() + sb.ToString().Trim(); e.Row.Cells[i].EditorComponent = ultraFormattedTextEditor; e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; } else { if (string.Compare(myValue, e.Row.Cells[i].Value?.ToString()) > 0) { ultraFormattedTextEditor.Text = myValue?.Trim(); ultraFormattedTextEditor.Value = myValue?.Trim(); e.Row.Cells[i].Value = myValue?.Trim(); e.Row.Cells[i].EditorComponent = ultraFormattedTextEditor; e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; } } }
string strAdditionalrData = e.Row.Cells[i + 5].Text; int isrOverFlow = 0; if (string.IsNullOrEmpty(strAdditionalrData) == false) { string[] arrayOfAdditionalrData = strAdditionalrData.Split(new char[] { '|' }); foreach (string strrData in arrayOfAdditionalrData) { string[] keyValuePair = strrData.Split(new char[] { '=' }); if (keyValuePair[0] == "rOverFlow") { isrOverFlow = int.Parse(keyValuePair[1]); break; } } } if (strHasrCorrectionHistory == "TRUE" || isrOverFlow == 1)// || foundRefRangeUnit > 0) { if (strHasrCorrectionHistory == "TRUE") { } EditorButton btnViewHistoryEditor = new EditorButton(); btnViewHistoryEditor.AccessibleName = "btnhasrCorrectionHistory"; btnViewHistoryEditor.Tag = "btnhasrCorrectionHistory"; btnViewHistoryEditor.Appearance.Image = ImageServer.GetImage("His"); btnViewHistoryEditor.Appearance.ImageHAlign = HAlign.Right; btnViewHistoryEditor.Appearance.ImageVAlign = VAlign.Top; btnViewHistoryEditor.ButtonStyle = UIElementButtonStyle.Borderless; btnViewHistoryEditor.Appearance.BackColor = Color.Transparent; uViewHistoryTextEditor.ButtonsRight.Add(btnViewHistoryEditor);
if (isrOverFlow == 1) { EditorButton btnExpandr = new EditorButton(); btnExpandr.AccessibleName = "btnEx"; btnExpandr.Tag = "btnEx"; btnExpandr.Appearance.Image = ImageServer.GetImage("r_Comments"); btnExpandr.Appearance.ImageHAlign = Infragistics.Win.HAlign.Left; btnExpandr.Appearance.ImageVAlign = Infragistics.Win.VAlign.Middle; btnExpandr.ButtonStyle = UIElementButtonStyle.Borderless; btnExpandr.Appearance.BackColor = Color.Transparent; uViewHistoryTextEditor.ButtonsLeft.Add(btnExpandr); }
e.Row.Cells[i].EditorComponent = uViewHistoryTextEditor;
_uRGrid.DisplayLayout.Bands[0].Columns[i].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always; e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText;
} else { if (isFullEditorDisplay == false) { e.Row.Cells[i].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.FormattedText; } } if (e.Row.Cells[i].Text.Length > 8) {
m_band.Columns[i].CellMultiLine = DefaultableBoolean.True; m_band.Columns[i].Width = 200; } e.Row.PerformAutoSize(); // Auto resize row once value assigned to row...
i += (CintRGridColumnsToHide - 1); } } catch (Exception ex) { } }
can you pls let me know the issue here.
Mosam
A cell can only contain a single value. So you would need to work out how to break up a single value into multiple pieces of text. There are an number of ways you could do this, but it would depend a lot on what your data is on how it relates to the other pieces of data.You could use a delimited string of some kind, for example. Of you could have a column your grid that is some kind of object with multiple properties on it. The challenge in that case would be how to relate that object to your database/back end - assuming it even has a back end and isn't just run-time data. Regarding placing multiple controls in a cell, the UltraControlContainerEditor has ONE RenderingControl and ONE EditingControl. But you could create a control or a UserControl that is contains several over controls, like a couple of TextBoxes, for example. You still have to handle everything through a SINGLE property, but again, that property could be a delimited string which then gets parsed into the separate TextBoxes and re-combined. Or it could be an object with multiple properties on it. I don't think we have any samples of this on-hand. And it would be tricky to set up, quite frankly. There's a lot of infrastructure you would need to handle like INotifyPropertyChange on both the object and it's sub-objects. It's really hard for me to guide you here without knowing a lot more about exactly what you are trying to achieve, what the data is, how the different pieces of the data relate to each, etc.
Can you pls provide some sample where multiple texts , image and button controls are getting added in same cell using UltraControlContainerEditor.
I have gone through some of the examples like below where per cell - only one control is shown how to be added.
https://ko.infragistics.com/help/winforms/wincontrolcontainereditor-embed-any-control-within-wingrid-cell-using-ultracontrolcontainereditor-component