Every attempt to edit a gridcell containing a dropdownbox shows the following errormessage:
cStyle is undefinedhttp://dev:8081/WebResource.axd?d=y5sNjaUn08fM5vmbZh5LFsUDYpllPOqC6PSRSKBTrKwcp4_8oRj0xkBSgbKNMmHaHk7e8VKMIu7sAOZ4X_y8L1zqLZa5schBTAQ3PohiS7SMDNFyKmHHNj7qO15Lfmb_u6MbdYtLc3FNDDKWL9HekVAOeYhD8wjS3wRNDEjJqoE1&t=633700440041007424Line 845
We too are getting this error? Did you have any look solving it?
Unfortunately, no.
The only hope at this time is a workaround. I did not know a version / release of WebGrid that does not contain such a Killerbug. So a rollback is not possible.
Hi, no. No Panels.
We use build in ajax functionality of the WebGrid.
Here' s so far what i' ve tried to make a new project closest as possible.I believe it has something to do with the pager.
We load griddata via grd.invokeXmlHttpRequest(grd.eReqType.Refresh);
The original project is a little more complicated. So I guess i' ve to figure it out.
Hope this helps...
default.aspx.vb
Private Sub UltraWebGrid1_InitializeLayout1(ByVal sender As Object, ByVal e As Infragistics.WebUI.UltraWebGrid.LayoutEventArgs) Handles UltraWebGrid1.InitializeLayout With e.Layout e.Layout.Grid.DisplayLayout.AllowAddNewDefault = AllowAddNew.Yes .AddNewBox.Hidden = False .AddNewBox.Prompt = "new" .Pager.MinimumPagesForDisplay = 1 .Pager.AllowPaging = True .Pager.PageSize = 5 .RowsRange = .Pager.PageSize .Pager.ChangeLinksColor = False .Pager.StyleMode = PagerStyleMode.PrevNext '.ClientSideEvents.AfterCellUpdateHandler = "afterGridEdit" '.ClientSideEvents.AfterRowDeletedHandler = "afterGridRowDeleted" '.ClientSideEvents.BeforeRowInsertHandler = "BeforeGridRowInsertHandler" '.ClientSideEvents.EditKeyDownHandler = "EditKeyDownHandler" '.ClientSideEvents.KeyDownHandler = "KeyDownHandler" '.ClientSideEvents.DblClickHandler = "DblClickHandler" '.ClientSideEvents.AfterColumnSizeChangeHandler = "UltraWebGrid_AfterColumnSizeChangeHandler" '.ClientSideEvents.BeforeColumnSizeChangeHandler = "UltraWebGrid_BeforeColumnSizeChangeHandler" .HeaderStyleDefault.Font.Bold = False .AllowColSizingDefault = AllowSizing.Free .AllowSortingDefault = AllowSorting.OnClient .AllowColumnMovingDefault = AllowColumnMoving.None .GroupByBox.Hidden = True .GroupByBox.Location = BoxLocation.Top .GroupByBox.ShowBandLabels = ShowBandLabels.Default .ViewType = Infragistics.WebUI.UltraWebGrid.ViewType.OutlookGroupBy .StationaryMargins = StationaryMargins.Header .FilterOptionsDefault.AllowRowFiltering = RowFiltering.No .FilterOptionsDefault.ShowAllCondition = ShowFilterString.Yes .FilterOptionsDefault.ShowEmptyCondition = ShowFilterString.No .FilterOptionsDefault.ShowNonEmptyCondition = ShowFilterString.No ' AJAX Settings .Grid.Browser = Infragistics.WebUI.UltraWebGrid.BrowserLevel.Xml .LoadOnDemand = Infragistics.WebUI.UltraWebGrid.LoadOnDemand.Xml .ViewType = Infragistics.WebUI.UltraWebGrid.ViewType.Hierarchical .XmlLoadOnDemandType = XmlLoadOnDemandType.Accumulative End With 'GRID_InitializeBand(sender, Nothing) End Sub Private Sub UltraWebGrid1_InitializeDataSource(ByVal sender As Object, ByVal e As Infragistics.WebUI.UltraWebGrid.UltraGridEventArgs) Handles UltraWebGrid1.InitializeDataSource UltraWebGrid1.DisplayLayout.AutoGenerateColumns = False Dim _col As New UltraGridColumn("col1", "column1", ColumnType.DropDownList, 0) Dim _vl As New ValueList() _vl.ValueListItems.Add(0, "Testvalue") _col.ValueList = _vl UltraWebGrid1.Bands(0).Columns.Add(_col) Dim _ds As New System.Data.DataTable Dim _c As New System.Data.DataColumn("col1", GetType(Int16)) _ds.Columns.Add(_c) For i As Integer = 0 To 100 Dim _r As System.Data.DataRow = _ds.Rows.Add() Next UltraWebGrid1.DataSource = _ds UltraWebGrid1.DataBind() End Sub
default.aspx
<body> <form id="form1" runat="server"> <div> <igtbl:UltraWebGrid ID="UltraWebGrid1" runat="server" Height="345px" Width="100%" > <DisplayLayout allowcolsizingdefault="Free" allowcolumnmovingdefault="OnServer" allowdeletedefault="Yes" allowsortingdefault="OnClient" allowupdatedefault="Yes" bordercollapsedefault="Separate" headerclickactiondefault="SortMulti" rowheightdefault="20px" rowselectorsdefault="No" selecttyperowdefault="Extended" stationarymargins="Header" stationarymarginsoutlookgroupby="True" tablelayout="Fixed" version="4.00" viewtype="OutlookGroupBy"> <FrameStyle Height="345px" Width="100%" backcolor="Window" bordercolor="InactiveCaption" borderstyle="Solid" borderwidth="1px" font-names="Microsoft Sans Serif" font-size="8.25pt"> </FrameStyle> <pager minimumpagesfordisplay="2"> <PagerStyle BackColor="LightGray" BorderStyle="Solid" BorderWidth="1px"> <borderdetails colorleft="White" colortop="White" widthleft="1px" widthtop="1px" /> </PagerStyle> </pager> <editcellstyledefault borderstyle="None" borderwidth="0px"> </editcellstyledefault> <footerstyledefault backcolor="LightGray" borderstyle="Solid" borderwidth="1px"> <borderdetails colorleft="White" colortop="White" widthleft="1px" widthtop="1px" /> </footerstyledefault> <headerstyledefault backcolor="LightGray" borderstyle="Solid" horizontalalign="Left"> <borderdetails colorleft="White" colortop="White" widthleft="1px" widthtop="1px" /> </headerstyledefault> <rowstyledefault backcolor="Window" bordercolor="Silver" borderstyle="Solid" borderwidth="1px" font-names="Microsoft Sans Serif" font-size="8.25pt"> <padding left="3px" /> <borderdetails colorleft="Window" colortop="Window" /> </rowstyledefault> <groupbyrowstyledefault backcolor="Control" bordercolor="Window"> </groupbyrowstyledefault> <groupbybox> <boxstyle backcolor="ActiveBorder" bordercolor="Window"> </boxstyle> </groupbybox> <addnewbox hidden="False"> <boxstyle backcolor="Window" bordercolor="InactiveCaption" borderstyle="Solid" borderwidth="1px"> <borderdetails colorleft="White" colortop="White" widthleft="1px" widthtop="1px" /> </boxstyle> </addnewbox><ActivationObject BorderColor="" BorderWidth=""></ActivationObject> <filteroptionsdefault> <filterdropdownstyle backcolor="White" bordercolor="Silver" borderstyle="Solid" borderwidth="1px" customrules="overflow:auto;" font-names="Verdana,Arial,Helvetica,sans-serif" font-size="11px" height="300px" width="200px"> <padding left="2px" /> </filterdropdownstyle> <filterhighlightrowstyle backcolor="#151C55" forecolor="White"> </filterhighlightrowstyle> <filteroperanddropdownstyle backcolor="White" bordercolor="Silver" borderstyle="Solid" borderwidth="1px" customrules="overflow:auto;" font-names="Verdana,Arial,Helvetica,sans-serif" font-size="11px"> <padding left="2px" /> </filteroperanddropdownstyle> </filteroptionsdefault> </DisplayLayout> </igtbl:UltraWebGrid> </div> </form> <script> function test() { var grd = igtbl_getGridById('UltraWebGrid1'); grd.invokeXmlHttpRequest(grd.eReqType.Refresh); } </script> <a href="BLOCKED SCRIPTtest();" >test</a></body></html>
Thanks for the follow-up. While I will do my best at my side to continue working on this item and to reproduce the issue, I still believe the best / fastest and most reliable way to solve this is to contact Developer Support directly at:
http://ko.infragistics.com/Support/#Overview
It is just the problems like that are typically hard to resolve over peer-to-peer forums.
Thanks.
Hi again,
I cannot reproduce so far, but the problem is in the Javascript function
function igtbl_editList(g,v,r,col,cElem) in Line 764;
In the working testproject the variable g.IsXHTML is true.In the not working Project it is false.
So if g.IsXHTML is false cStyle will never be initialised.
What is g.IsXHTML?
How to set this value to true?
Are there changes in behavior to previous versions?
svsde said:What is g.IsXHTML?
if(ig_csom.IsIE) { cStyle=cElem.currentStyle; } else { cStyle=igtbl_getComputedStyle(cElem); }
before the line:s.height=(cElem.offsetHeight - igtbl_parseInt(cStyle.borderTopWidth) - igtbl_parseInt(cStyle.borderBottomWidth)) + "px";(only this line was changed in this function in the hotfix 2039)
s.height=(cElem.offsetHeight - igtbl_parseInt(cStyle.borderTopWidth) - igtbl_parseInt(cStyle.borderBottomWidth)) + "px";
Hi Tobi,
the xhtml DOCTYPE declaration was already added.
But your tip does the trick.
I' ve furthermore coded a dynamic solution to implement your workaround.
Dim _page As System.Web.UI.Page = DirectCast(HttpContext.Current.Handler, System.Web.UI.Page) Dim _placeholder As New Literal _placeholder.ID = "INFRAGISTICS_WORKAROUND_BUILD_2039" _placeholder.Text = "<script type=""text/javascript"" src=""./../jscript/infragistics_workaround_build_2039.js""></script>" _page.Form.Controls.AddAt(0, _placeholder)
Thanks very much for your Help!
mroyalty2002 said: Where would you add this code at?
Where would you add this code at?
Hi mroyalty2002,
so it seems the forum is today available.
I put the code into Page_InitComplete.
Hi svsde,
Where would you add this code at? Would it be in the pages load or prerender event? I added it to the prerender but that is causing an object reference error.
Thanks for the help.