Can you post your code where you set the cells editor to use the WebNumericEdit? also i guess the WebNumericEdit code that lives on the page...
but from your description it sounds like the control is sort of being shared for your cells instead of treating each cell individually? does that sound right?
WebNumericEdit
<igtxt:WebNumericEdit ID="WebNumericEdit1" runat="server" BorderColor="#7F9DB9" BorderStyle="Solid" BorderWidth="1px" BackColor="White" Font-Size="12px" Font-Names="Microsoft Sans Serif" Visible="False" EnableViewState="False"></igtxt:WebNumericEdit>
public void m_UltraGrid_InitializeLayout(object sender, LayoutEventArgs e){
.........
if ((uwgColumn.DataType == "System.Double") || (uwgColumn.DataType == "System.Decimal")) { WebNumericEdit wneFloatEdit = (WebNumericEdit)m_UltraGrid.Parent.FindControl("WebNumericEdit1"); if (wneFloatEdit != null) { wneFloatEdit.HorizontalAlign = HorizontalAlign.Right; uwgColumn.EditorControlID = wneFloatEdit.ID; uwgColumn.Type = ColumnType.Custom; if (uwgColumn.DataType.ToUpper() == "SYSTEM.DECIMAL") wneFloatEdit.DataMode = NumericDataMode.Decimal; if (uwgColumn.DataType.ToUpper() == "SYSTEM.DOUBLE") wneFloatEdit.DataMode = NumericDataMode.Double; wneFloatEdit.Visible = true; } }
}
Also i made a test-page to try differeny ideas, but it works the perfectly, how it should work on main page.
Connection made to the Infragistics examples. I understand that error is likely to occure in my code, but can not catch this situation: ( Bug occurs only when you move to another row and event UpdateRow is used. Activate the cells in one click.
e.Layout.CellClickActionDefault = CellClickAction.Edit;
I don't think anything looks wrong with your code really...
but a few things to try...
I would create two different WebNumericEdit controls on your aspx page...one for decimal and one for double...do you really care about the difference between the two? are you working with REALLY large numbers (or numbers with lots of decimal places)? perhaps your simple example works because you only have one editor in one format (hope that makes sense)...
second...you shouldn't need to set visible=false or visible=true as the control will not be a visual control once hooked up to the grid...
third...you shouldn't need to "find" the control you should be able to do the following:
uwgColumn.EditorControlID = WebNumeric1.ID ' properly qualified instead of finding and casting...
also, is your UpdateRow event an ajax/client side update? if it isn't and is a postback, maybe it is a viewstate issue...
UpdateRow event ajax/client side update (that is included LoadOnDemand = XML) ViewState disabled.
Using "find" because the void InitializeLayout is not located on the page but in a separate class, so control is not directly visible. In a test example using 3 column (int, double, decimal datatype)