Hi all,
I've read a lot of posts concerning this issue so I've tried a lot of different things already. The grid doesn't even launch the gridCreated. The grid is within an Asp form. I've got two other grids in a master/detail scenario setup as web service data sources with the same svc code and they work fine. I've got linq data source and checked that the source is okay as well.
I've got the latest tools version.
Here's my aspx , wcf file and jscript:
Thanks,
-- Jim
I've read a lot of posts concerning this issue so I've tried a lot of different things already. The grid doesn't even launch the gridCreated. The grid is within an Asp form. I've got two other grids in a master/detail scenario setup as web service data sources with the same svc code and they work fine. I've got linq data source and checked that the source is okay as well.
I've got the latest tools version.
Here's my aspx , wcf file and jscript:
function pageLoad() { // create references to list of controls from the form // bind cse notes based on filter rdCSENotes = $find('<%= rlMOView.FindControl("rdGridCSENotes").ClientID %>'); var tableViewCse = rdCSENotes.get_masterTableView();function GridCreated(sender, eventArgs) { alert("Grid with ClientID: " + sender.get_id() + " was created"); } function rdGridNotes_DataBinding(sender, args) { // bind notes based on id to determine security group // for identifying filter needs to be applied other than // mfgorder id // get form key to filter the notes through var hdnMfgKey = document.getElementById('ctl00_MainContent_hdnMfgKey'); // reference the grid by id var rdNotes_id = sender.get_id(); var arrNotesGridControls = new Array(6); arrNotesGridControls[0] = "rdGridCSENotes^14"; arrNotesGridControls[1] = "rdGridCSTNotes^15"; arrNotesGridControls[2] = "rdGridBSNotes^16"; arrNotesGridControls[3] = "rdGridQANotes^26"; arrNotesGridControls[4] = "rdGridPurchasingNotes^17"; arrNotesGridControls[5] = "rdGridLogisticsNotes^52"; arrNotesGridControls[6] = "rdGridCustomerSpecNotes^30"; // pull the group id for (var i = 0; i < arrNotesControls.length; i++) { var arrSplit = arrNotesControls[i].split("^"); if (rdNotes_id.search(arrSplit[0]) != -1) { // note identified attach the group to the end of the field name // and fire filter event var secGrp = arrSplit[1]; var filtKey = "MfgOrderID^" + secGrp + "^"; // apply filter to the grid data source include the security group id to handle in the service method rdCSE = $find('<%= rlMOView.FindControl("rdGridCSENotes").ClientID %>'); tableView = rdCSE.get_masterTableView(); tableView.filter(filtKey, hdnMfgKey.value, "EqualTo"); break; } } } <telerik:RadGrid ID="rdGridCSENotes" GridLines="None" EnableEmbeddedSkins="False" Skin="ddiWebBlue" runat="server" Height="48px" Width="875px" EnableViewState="false" AutoGenerateColumns="False" CellSpacing="0" AllowAutomaticUpdates="false" AllowAutomaticDeletes="False" AllowAutomaticInserts="false" ShowHeader="False" AllowPaging="false"> <MasterTableView ShowFooter="false" AllowNaturalSort="false" CommandItemDisplay="Top" ClientDataKeyNames="MfgOrderID" ItemStyle-CssClass="comments" NoMasterRecordsText=" <div style='font-size: 10px; font-family: 'segoe ui',arial,sans-serif;'>No CSE notes currently entered.</div>" TableLayout="Fixed" GridLines="Horizontal" ShowHeadersWhenNoRecords="False"> <CommandItemSettings ShowAddNewRecordButton="false" ShowRefreshButton="false" /> <CommandItemStyle CssClass="commViewCommand" /> <ItemStyle CssClass="comments" /> <AlternatingItemStyle CssClass="comments" /> <Columns> <telerik:GridDateTimeColumn DataField="StatusDateTime" DataType="System.DateTime" ItemStyle-Width="85px" DataFormatString="{0:MM/dd/yy hh:mm tt}"> </telerik:GridDateTimeColumn> <telerik:GridBoundColumn DataField="LogonID" DataType="System.String" HeaderText="DisplayName" UniqueName="DisplayName" ItemStyle-Width="70px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="StatusComment" DataType="System.String" HeaderText="StatusComment" UniqueName="StatusComment" ItemStyle-Wrap="false" ItemStyle-Width="653px"> </telerik:GridBoundColumn> </Columns> </MasterTableView> <ClientSettings> <DataBinding Location="GridMasterDetailsService.svc" FilterParameterType="Linq" SelectMethod="GetNotesDataAndCount" SortParameterType="Linq"> </DataBinding> <ClientEvents OnDataBinding="rdGridNotes_DataBinding" OnGridCreated="GridCreated" OnCommand="function(){}" /> <Scrolling AllowScroll="True" UseStaticHeaders="true" SaveScrollPosition="True"> </Scrolling> </ClientSettings> <HeaderContextMenu EnableEmbeddedSkins="False" CssClass="GridContextMenu GridContextMenu_ddiWebBlue"> </HeaderContextMenu> </telerik:RadGrid>using System; using System.Linq; using System.Runtime.Serialization; using System.Web.Services; using System.ServiceModel; using System.ServiceModel.Activation; using System.ServiceModel.Web; using System.Collections.Generic; using System.Collections; using System.Reflection; namespace DataContracts { [DataContract] public class MO_POHdr { [DataMember] public int MfgAssocDocID { get; set; } [DataMember] public int? MfgOrderID { get; set; } [DataMember] public string ponumber { get; set; } [DataMember] public string vendname { get; set; } [DataMember] public string vendorid { get; set; } [DataMember] public string country { get; set; } [DataMember] public string vndclsid { get; set; } [DataMember] public DateTime? docdate { get; set; } [DataMember] public string hold { get; set; } [DataMember] public string shipmthd { get; set; } } [DataContract] public class MOCommentDisplay { [DataMember] public int MfgOrderLogID { get; set; } [DataMember] public int MfgOrderID { get; set; } [DataMember] public int? AccountID { get; set; } [DataMember] public int? CommentGroupAccessID { get; set; } [DataMember] public string LogonID { get; set; } [DataMember] public DateTime? StatusDateTime { get; set; } [DataMember] public int? PeriodKey { get; set; } [DataMember] public string StatusComment { get; set; } [DataMember] public string Code { get; set; } } [DataContract] public class PODet { [DataMember] public string ponumber { get; set; } [DataMember] public string itemnmbr { get; set; } [DataMember] public decimal? qtyorder { get; set; } [DataMember] public string itemdesc { get; set; } [DataMember] public string postatus { get; set; } [DataMember] public string shipmthd { get; set; } [DataMember] public DateTime? released_date { get; set; } [DataMember] public DateTime? prmdate { get; set; } [DataMember] public DateTime? reqdate { get; set; } } } public class MyData { public int Count { get; set; } public IList Data { get; set; } } [ServiceContract] [ServiceKnownType("GetKnownTypes")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class GridMasterDetailsService { public static IEnumerable<Type> GetKnownTypes(ICustomAttributeProvider provider) { List<Type> knownTypes = new List<System.Type>(); knownTypes.Add(typeof(DataContracts.MO_POHdr)); knownTypes.Add(typeof(DataContracts.PODet)); knownTypes.Add(typeof(DataContracts.MOCommentDisplay)); return knownTypes; } [OperationContract] public MyData GetMOPOHdrDataAndCount(int startRowIndex, int maximumRows, string sortExpression, string filterExpression) { maximumRows = 20; if (filterExpression != "") { filterExpression = filterExpression.Replace("\"", string.Empty); } GridBindingData data = RadGrid.GetBindingData("AppDataClassesDataContext", "MOAssocDocuments", startRowIndex, maximumRows, sortExpression, filterExpression); MyData result = new MyData(); result.Data = data.Data.OfType<MOAssocDocument>().Select(c => new DataContracts.MO_POHdr() { MfgAssocDocID = c.MfgAssocDocID, MfgOrderID = c.MfgOrderID, ponumber = c.POHdr.ponumber, vendname = c.POHdr.vendname, vendorid = c.POHdr.vendorid, country = c.POHdr.country, vndclsid = c.POHdr.vndclsid, docdate = c.POHdr.docdate, hold = c.POHdr.hold, shipmthd = c.POHdr.shipmthd }).ToList(); result.Count = data.Count; return result; } [OperationContract] public MyData GetPODetDataAndCount(int startRowIndex, int maximumRows, string sortExpression, string filterExpression) { // maximumRows = 50; GridBindingData data = RadGrid.GetBindingData("AppDataClassesDataContext", "PODets", startRowIndex, maximumRows, sortExpression, filterExpression); MyData result = new MyData(); result.Data = data.Data.OfType<PODet>().Select(o => new DataContracts.PODet() { ponumber = o.ponumber, itemnmbr = o.itemnmbr, qtyorder = o.qtyorder, itemdesc = o.itemdesc, postatus = o.postatus, shipmthd = o.shipmthd, released_date = o.released_date, prmdate = o.prmdate, reqdate=o.reqdate }).ToList(); result.Count = data.Count; return result; } [OperationContract] public MyData GetNotesDataAndCount(int startRowIndex, int maximumRows, string sortExpression, string filterExpression) { sortExpression = "StatusDateTime descending"; var sSecGrp = filterExpression.Split('^'); filterExpression = "CommentGroupAccessID EqualTo " + sSecGrp[1] + " And MfgOrderID = " + sSecGrp[2]; GridBindingData data = RadGrid.GetBindingData("AppDataClassesDataContext", "MOCommentDisplays", startRowIndex, maximumRows, sortExpression, filterExpression); MyData result = new MyData(); result.Data = data.Data.OfType<MOCommentDisplay>().Select(p => new DataContracts.MOCommentDisplay() { MfgOrderLogID = p.MfgOrderLogID, MfgOrderID = p.MfgOrderLogID, AccountID = p.AccountID, CommentGroupAccessID = p.CommentGroupAccessID, LogonID = p.Account.LogonID, StatusDateTime = p.StatusDateTime, PeriodKey = p.PeriodKey, StatusComment = p.StatusComment, Code = p.CLib.Code }).ToList(); result.Count = data.Count; return result; } }Thanks,
-- Jim