Forum


03:21

12/04/2011

Hi all,
OK, an up-front admission that I know little to nothing about Javascript, though I'm working hard to improve my knowledge. I've been using JQGrid for a database channel editor for another open source project, and I really like the results I've gotten so far. I'm working on expanding functionality and I'm running into an issue when I try to retrieve an array of selected rows in a multiselect grid. If I select, say, six items, only three (generally exactly half) will return working values in the array -- everything else will be either undefined or a completely out of place type (bool where I expect int). I suspect that the problem is not with JQGrid (I'm using 4.0) itself but rather with my retrieval of values from the server, or my setup of the grid itself. So, I'm going to paste some JSON data, my grid initialization, and my function to pull and manipulate data, and maybe one of you experts will see the problem right away.
Pulling in the grid from JSON:
function initChannelEditor(sourceid) {
$("#channels").jqGrid({
url:'/Channel/GetChannelInfoList?SourceID=' + sourceid,
datatype: 'json',
colNames:['Channel ID', 'Channel Number', 'Callsign', 'Channel Name', 'Visible', 'XMLTVID', 'Icon Path',
'Multiplex ID', 'Transport ID', 'Service ID', 'Network ID', 'ATSC Major Channel',
'ATSC Minor Channel', 'Format', 'Modulation', 'Frequency', 'Frequency ID', 'Frequency Table',
'Fine Tuning', 'SI Standard', 'Channel Filters', 'Source ID', 'Input ID', 'Commercial Free',
'Use On Air Guide', 'Default Authority'],
colModel:[
{name:'ChanId', editable: true, width:120, sorttype:"int", hidden:true, jsonmap: 'ChanId'},
{name:'ChanNum', editable: true, width:120, sorttype:"int", jsonmap: 'ChanNum'},
{name:'CallSign', editable: true, width:90, sorttype:"text", jsonmap: 'CallSign'},
{name:'ChannelName', editable: true, width:300, align:"right", sorttype:"text", jsonmap: 'ChannelName'},
{name:'Visible', editable: true, width:40, align:"center", sorttype:"bool", jsonmap: 'Visible', formatter:'checkbox',edittype:"checkbox"},
{name:'XMLTVID', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'XMLTVID'},
{name:'IconURL', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'IconURL'},
{name:'MplexId', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'MplexId'},
{name:'TransportId', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'TransportId'},
{name:'ServiceId', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'ServiceID'},
{name:'NetworkId', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'NetworkId'},
{name:'ATSCMajorChan', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'ATSCMajorChan'},
{name:'ATSCMinorChan', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'ATSCMinorChan'},
{name:'Format', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'Format'},
{name:'Modulation', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'Modulation'},
{name:'Frequency', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'Frequency'},
{name:'FrequencyId', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'FrequencyId'},
{name:'FrequencyTable', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'FrequencyTable'},
{name:'FineTune', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'FineTune'},
{name:'SIStandard', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'SIStandard'},
{name:'ChanFilters', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'ChanFilters'},
{name:'SourceId', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'SourceId'},
{name:'InputId', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'InputId'},
{name:'CommFree', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'CommFree'},
{name:'UseEIT', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'UseEIT'},
{name:'DefaultAuth', editable: true, width:0, align:"right", sortable:false, hidden:true, jsonmap: 'DefaultAuth'}
],
jsonReader: {
root:"ChannelInfoList.ChannelInfos",
page:"ChannelInfoList.CurrentPage",
total:"ChannelInfoList.TotalPages",
records:"ChannelInfoList.TotalAvailable",
cell:"ChannelInfos",
id : "ChanId",
repeatitems: false
},
rowNum:20,
multiselect: true,
rowList:[10,20,30,50],
pager: '#pager',
sortname: 'ChanNum',
viewrecords: true,
sortorder: "desc",
loadonce: true,
autoWidth: true,
width: 820,
height: 442
});
/* Resize the grid if the window width changes */
$(window).bind('resize', function() {
$("#channels").setGridWidth($(window).width() - 223);
}).trigger('resize');
/* Sort ascending by Channel Number on load */
$("#channels").setGridParam({sortname:'ChanNum', sortorder:'asc'}).trigger('reloadGrid');
}
The JSON Data pulled in (abbreviated drastically):
And the function I'm trying to use to loop over the selected values:
function deleteSelectedChannel() {
var rowArray = $('#channels').jqGrid('getGridParam','selarrrow');
if (rowArray.length > 0) {
var arrayContents;
var len = rowArray.length;
for (var i=0; i < len; i++) {
arrayContents = arrayContents + " " + $("#channels").jqGrid('getCell', rowArray[i], 'ChanId');
if ($("#channels").jqGrid('delRowData', rowArray[i])) {
setStatusMessage("Deleting channel " + rowArray[i] + "...");
}
}
setStatusMessage("Array contents were " + arrayContents);
$('#channels').trigger('reloadGrid');
}
}
Pardon the now-ruined formatting thanks to the forum software, hopefully it will still be legible enough for this to make sense. for reference, the status notifier I'm popping up when iterating through the array gives a message like "Array contents were undefined 3105 3107 false false" which makes me feel like there is an off-by-one type error in my code somewhere.
I'd really appreciate any help you might be able to offer.
02:20

12/04/2011

OK, am bumping with a newer, simpler example. Why does this remove only the odd rows in the array? This same iterating approach works with anything besides delRowData, so I am beginning to wonder if there might be a bug/race condition in row deletion (since I can delete the rows one by one, but not by looping through an array)?
function deleteSelectedChannel() {
var rowArr = $('#channels').jqGrid('getGridParam','selarrrow');
$.each(rowArr, function(i, value) {
if ($("#channels").jqGrid('delRowData', value))
setStatusMessage("Channel deleted successfully!");
else
setErrorMessage("Channel delete failed!");
});
}
14:44

15/04/2011

The JSON data you provide isn't valid. Check it here: http://www.jsonlint.com/
15:13

12/04/2011

Hi mascott,
Thanks, and good idea, unfortunately the data shows as valid at jsonlint (I manually abbreviated the data in the first post above and probably messed it up, but the full data validates). Further, I can iterate through the exact same data doing any other action on it besides delrowdata (for example, a simple appending of the same data to a string and displaying the string works correctly). It is only when performing delrowdata that every other item fails.
Any other ideas?
15:28

12/04/2011

Thank you very, very much for your help and persistence.
The above is an isolated test case that shows the problem; In my real world scenario, if the delrowdata succeeds I call a function to delete the corresponding database row. If I have (imagine) rows 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, and call the above code on them, the grid refreshes with rows 2, 4, 6, 8, 10 still present.
Here is some data that passes jsonlint (and I'm sorry for how long it is). I can repeat the above behavior with it. "ChannelInfos" are the rows, and "ChanId" is the key value used:
{"ChannelInfoList": {"StartIndex": "0", "Count": "60", "CurrentPage": "1", "TotalPages": "1", "TotalAvailable": "60", "AsOf": "2011-04-16T05:09:41", "Version": "0.25.20110414-3", "ProtoVer": "65", "ChannelInfos": [{"ChanId": "2109", "ChanNum": "109", "CallSign": "CSPAN2", "IconURL": "/MythMedia/icons/cspan2.png", "ChannelName": "Cable Satellite Public Affairs Network 2", "MplexId": "85", "TransportId": "0", "ServiceId": "2", "NetworkId": "0", "ATSCMajorChan": "109", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "591000000", "FrequencyId": "109", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "10162", "DefaultAuth": "", "Programs": []},{"ChanId": "2128", "ChanNum": "128", "CallSign": "BLOOM", "IconURL": "/MythMedia/icons/bloomberg.png", "ChannelName": "Bloomberg Business Television", "MplexId": "73", "TransportId": "0", "ServiceId": "5", "NetworkId": "0", "ATSCMajorChan": "128", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "519000000", "FrequencyId": "128", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "14755", "DefaultAuth": "", "Programs": []},{"ChanId": "2164", "ChanNum": "164", "CallSign": "SNBC", "IconURL": "abc_family_hd.png", "ChannelName": "ShopNBC", "MplexId": "98", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "0", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "111000000", "FrequencyId": "164", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "false", "XMLTVID": "14948", "DefaultAuth": "", "Programs": []},{"ChanId": "2275", "ChanNum": "275", "CallSign": "BIO", "IconURL": "/MythMedia/icons/biography.png", "ChannelName": "The Biography Channel", "MplexId": "122", "TransportId": "0", "ServiceId": "2", "NetworkId": "0", "ATSCMajorChan": "275", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "783000000", "FrequencyId": "275", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "16834", "DefaultAuth": "", "Programs": []},{"ChanId": "2110", "ChanNum": "110", "CallSign": "CSPAN3", "IconURL": "cspan3.png", "ChannelName": "Cable Satellite Public Affairs Network 3", "MplexId": "87", "TransportId": "0", "ServiceId": "8", "NetworkId": "0", "ATSCMajorChan": "110", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "603000000", "FrequencyId": "110", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "17665", "DefaultAuth": "", "Programs": []},{"ChanId": "2136", "ChanNum": "136", "CallSign": "G4", "IconURL": "/MythMedia/icons/g4_tv.png", "ChannelName": "G4-video game television", "MplexId": "73", "TransportId": "0", "ServiceId": "13", "NetworkId": "0", "ATSCMajorChan": "136", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "519000000", "FrequencyId": "136", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "18179", "DefaultAuth": "", "Programs": []},{"ChanId": "2504", "ChanNum": "504", "CallSign": "LMN", "IconURL": "", "ChannelName": "Lifetime Movie Network", "MplexId": "122", "TransportId": "0", "ServiceId": "4", "NetworkId": "0", "ATSCMajorChan": "504", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "783000000", "FrequencyId": "504", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "false", "XMLTVID": "18480", "DefaultAuth": "", "Programs": []},{"ChanId": "2276", "ChanNum": "276", "CallSign": "HIS-I", "IconURL": "", "ChannelName": "History International", "MplexId": "122", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "276", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "783000000", "FrequencyId": "276", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "false", "XMLTVID": "18822", "DefaultAuth": "", "Programs": []},{"ChanId": "202001", "ChanNum": "702", "CallSign": "KTVU-TV", "IconURL": "fox_hd.png", "ChannelName": "Fox HD", "MplexId": "78", "TransportId": "0", "ServiceId": "2", "NetworkId": "0", "ATSCMajorChan": "702", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "549000000", "FrequencyId": "702", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "19571", "DefaultAuth": "", "Programs": []},{"ChanId": "205001", "ChanNum": "705", "CallSign": "KPIX-DT", "IconURL": "/MythMedia/icons/cbs_hd.png", "ChannelName": "CBS HD", "MplexId": "78", "TransportId": "0", "ServiceId": "1", "NetworkId": "0", "ATSCMajorChan": "705", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "549000000", "FrequencyId": "705", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "19572", "DefaultAuth": "", "Programs": []},{"ChanId": "207001", "ChanNum": "707", "CallSign": "KGO-HD", "IconURL": "/MythMedia/icons/abc_hd.png", "ChannelName": "ABC HD", "MplexId": "80", "TransportId": "0", "ServiceId": "1", "NetworkId": "0", "ATSCMajorChan": "707", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "561000000", "FrequencyId": "707", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "19574", "DefaultAuth": "", "Programs": []},{"ChanId": "244001", "ChanNum": "712", "CallSign": "KBCW-DT", "IconURL": "/MythMedia/icons/kbcw_cw44_san_francisco.png", "ChannelName": "The CW", "MplexId": "74", "TransportId": "0", "ServiceId": "5", "NetworkId": "0", "ATSCMajorChan": "712", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "525000000", "FrequencyId": "712", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "19575", "DefaultAuth": "", "Programs": []},{"ChanId": "2066", "ChanNum": "185", "CallSign": "HLMRK", "IconURL": "/MythMedia/icons/hallmark_channel.png", "ChannelName": "Hallmark Channel (Pacific)", "MplexId": "120", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "185", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "771000000", "FrequencyId": "185", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "19933", "DefaultAuth": "", "Programs": []},{"ChanId": "2185", "ChanNum": "185", "CallSign": "HLMRK", "IconURL": "/MythMedia/icons/hallmark_channel.png", "ChannelName": "Hallmark Channel (Pacific)", "MplexId": "120", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "185", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "771000000", "FrequencyId": "185", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "19933", "DefaultAuth": "", "Programs": []},{"ChanId": "204002", "ChanNum": "704", "CallSign": "KRON HD", "IconURL": "/MythMedia/icons/mytv.png", "ChannelName": "KRONDT2 (KRON-DT2)", "MplexId": "74", "TransportId": "0", "ServiceId": "1", "NetworkId": "0", "ATSCMajorChan": "704", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "525000000", "FrequencyId": "704", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "20547", "DefaultAuth": "", "Programs": []},{"ChanId": "2165", "ChanNum": "165", "CallSign": "OXGN", "IconURL": "/MythMedia/icons/oxygen.png", "ChannelName": "Oxygen Media Inc. (PACIFIC)", "MplexId": "71", "TransportId": "0", "ServiceId": "2", "NetworkId": "0", "ATSCMajorChan": "165", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "507000000", "FrequencyId": "165", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "21744", "DefaultAuth": "", "Programs": []},{"ChanId": "211001", "ChanNum": "703", "CallSign": "KNTV-HD", "IconURL": "/MythMedia/icons/nbc_hd.png", "ChannelName": "NBC HD", "MplexId": "79", "TransportId": "0", "ServiceId": "1", "NetworkId": "0", "ATSCMajorChan": "703", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "555000000", "FrequencyId": "703", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "21785", "DefaultAuth": "", "Programs": []},{"ChanId": "209001", "ChanNum": "709", "CallSign": "KQED-HD", "IconURL": "/MythMedia/icons/pbs.png", "ChannelName": "PBS HD", "MplexId": "80", "TransportId": "0", "ServiceId": "2", "NetworkId": "0", "ATSCMajorChan": "709", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "561000000", "FrequencyId": "709", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "24344", "DefaultAuth": "", "Programs": []},{"ChanId": "2475", "ChanNum": "475", "CallSign": "CMT-W", "IconURL": "/MythMedia/icons/cmt.png", "ChannelName": "Country Music Television (Pacific)", "MplexId": "121", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "475", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "777000000", "FrequencyId": "475", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "27203", "DefaultAuth": "", "Programs": []},{"ChanId": "2189", "ChanNum": "189", "CallSign": "KQEDL", "IconURL": "/MythMedia/icons/pbs.png", "ChannelName": "KQEDDT2 (KQED-DT2)", "MplexId": "80", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "189", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "561000000", "FrequencyId": "189", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "30507", "DefaultAuth": "", "Programs": []},{"ChanId": "209002", "ChanNum": "189", "CallSign": "KQEDL", "IconURL": "/MythMedia/icons/pbs.png", "ChannelName": "KQEDDT2 (KQED-DT2)", "MplexId": "80", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "189", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "561000000", "FrequencyId": "189", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "30507", "DefaultAuth": "", "Programs": []},{"ChanId": "2715", "ChanNum": "715", "CallSign": "LIVWELL", "IconURL": "", "ChannelName": "Living Well Copy", "MplexId": "80", "TransportId": "0", "ServiceId": "7", "NetworkId": "0", "ATSCMajorChan": "0", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "561000000", "FrequencyId": "715", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "false", "XMLTVID": "30833", "DefaultAuth": "", "Programs": []},{"ChanId": "207002", "ChanNum": "715", "CallSign": "LIVWELL", "IconURL": "", "ChannelName": "Living Well", "MplexId": "80", "TransportId": "0", "ServiceId": "7", "NetworkId": "0", "ATSCMajorChan": "0", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "561000000", "FrequencyId": "715", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "false", "XMLTVID": "30833", "DefaultAuth": "", "Programs": []},{"ChanId": "2190", "ChanNum": "190", "CallSign": "KQEDW", "IconURL": "/MythMedia/icons/pbs.png", "ChannelName": "KQEDDT3 KQED World (KQED-DT3)", "MplexId": "90", "TransportId": "0", "ServiceId": "8", "NetworkId": "0", "ATSCMajorChan": "190", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "621000000", "FrequencyId": "190", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "false", "XMLTVID": "35278", "DefaultAuth": "", "Programs": []},{"ChanId": "211002", "ChanNum": "186", "CallSign": "KNTV-DT2", "IconURL": "/MythMedia/icons/nbc.png", "ChannelName": "NBC Weather", "MplexId": "79", "TransportId": "0", "ServiceId": "2", "NetworkId": "0", "ATSCMajorChan": "186", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "555000000", "FrequencyId": "186", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "36151", "DefaultAuth": "", "Programs": []},{"ChanId": "2960", "ChanNum": "960", "CallSign": "FM-KQED", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio960 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "10", "NetworkId": "0", "ATSCMajorChan": "960", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "960", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "44192", "DefaultAuth": "", "Programs": []},{"ChanId": "2975", "ChanNum": "975", "CallSign": "FM-KUFX", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio975 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "25", "NetworkId": "0", "ATSCMajorChan": "975", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "975", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "44193", "DefaultAuth": "", "Programs": []},{"ChanId": "2119", "ChanNum": "119", "CallSign": "SPROU", "IconURL": "/MythMedia/icons/pbs_kids_sprout.png", "ChannelName": "PBS Kids Sprout", "MplexId": "107", "TransportId": "0", "ServiceId": "1", "NetworkId": "0", "ATSCMajorChan": "119", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "693000000", "FrequencyId": "119", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47540", "DefaultAuth": "", "Programs": []},{"ChanId": "2961", "ChanNum": "961", "CallSign": "FM-KRCB", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio961 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "11", "NetworkId": "0", "ATSCMajorChan": "961", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "961", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47694", "DefaultAuth": "", "Programs": []},{"ChanId": "2962", "ChanNum": "962", "CallSign": "FM-KCSM", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio962 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "12", "NetworkId": "0", "ATSCMajorChan": "962", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "962", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47695", "DefaultAuth": "", "Programs": []},{"ChanId": "2963", "ChanNum": "963", "CallSign": "FM-KSJO", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio963 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "13", "NetworkId": "0", "ATSCMajorChan": "963", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "963", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47696", "DefaultAuth": "", "Programs": []},{"ChanId": "2964", "ChanNum": "964", "CallSign": "FM-KNGY", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio964 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "14", "NetworkId": "0", "ATSCMajorChan": "964", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "964", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47698", "DefaultAuth": "", "Programs": []},{"ChanId": "2965", "ChanNum": "965", "CallSign": "FM-KRZZ", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio965 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "15", "NetworkId": "0", "ATSCMajorChan": "965", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "965", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47699", "DefaultAuth": "", "Programs": []},{"ChanId": "2966", "ChanNum": "966", "CallSign": "FM-KJZY", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio966 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "16", "NetworkId": "0", "ATSCMajorChan": "966", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "966", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47700", "DefaultAuth": "", "Programs": []},{"ChanId": "2967", "ChanNum": "967", "CallSign": "FM-KPFA", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio967 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "17", "NetworkId": "0", "ATSCMajorChan": "967", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "967", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47701", "DefaultAuth": "", "Programs": []},{"ChanId": "2968", "ChanNum": "968", "CallSign": "FM-KBAY", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio968 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "18", "NetworkId": "0", "ATSCMajorChan": "968", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "968", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47702", "DefaultAuth": "", "Programs": []},{"ChanId": "2969", "ChanNum": "969", "CallSign": "FM-KYLD", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio969 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "19", "NetworkId": "0", "ATSCMajorChan": "969", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "969", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47703", "DefaultAuth": "", "Programs": []},{"ChanId": "2970", "ChanNum": "970", "CallSign": "FM-KRTY", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio970 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "20", "NetworkId": "0", "ATSCMajorChan": "970", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "970", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47704", "DefaultAuth": "", "Programs": []},{"ChanId": "2971", "ChanNum": "971", "CallSign": "FM-KZBR", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio971 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "21", "NetworkId": "0", "ATSCMajorChan": "971", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "971", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47705", "DefaultAuth": "", "Programs": []},{"ChanId": "2972", "ChanNum": "972", "CallSign": "FM-KOIT", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio972 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "22", "NetworkId": "0", "ATSCMajorChan": "972", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "972", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47706", "DefaultAuth": "", "Programs": []},{"ChanId": "2973", "ChanNum": "973", "CallSign": "FM-KLLC", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio973 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "23", "NetworkId": "0", "ATSCMajorChan": "973", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "973", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47707", "DefaultAuth": "", "Programs": []},{"ChanId": "2974", "ChanNum": "974", "CallSign": "FM-KISQ", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio974 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "24", "NetworkId": "0", "ATSCMajorChan": "974", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "974", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47708", "DefaultAuth": "", "Programs": []},{"ChanId": "2976", "ChanNum": "976", "CallSign": "FM-KSOL", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio976 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "26", "NetworkId": "0", "ATSCMajorChan": "976", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "976", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47709", "DefaultAuth": "", "Programs": []},{"ChanId": "2977", "ChanNum": "977", "CallSign": "FM-KFRC", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio977 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "27", "NetworkId": "0", "ATSCMajorChan": "977", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "977", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47710", "DefaultAuth": "", "Programs": []},{"ChanId": "2978", "ChanNum": "978", "CallSign": "FM-KZST", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio978 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "28", "NetworkId": "0", "ATSCMajorChan": "978", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "978", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47711", "DefaultAuth": "", "Programs": []},{"ChanId": "2979", "ChanNum": "979", "CallSign": "FM-KBRG", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio979 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "29", "NetworkId": "0", "ATSCMajorChan": "979", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "979", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47712", "DefaultAuth": "", "Programs": []},{"ChanId": "2980", "ChanNum": "980", "CallSign": "FM-KIOI", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio980 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "30", "NetworkId": "0", "ATSCMajorChan": "980", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "980", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47713", "DefaultAuth": "", "Programs": []},{"ChanId": "2981", "ChanNum": "981", "CallSign": "FM-KDFC", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio981 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "31", "NetworkId": "0", "ATSCMajorChan": "981", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "981", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47714", "DefaultAuth": "", "Programs": []},{"ChanId": "2982", "ChanNum": "982", "CallSign": "FM-KBLX", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio982 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "32", "NetworkId": "0", "ATSCMajorChan": "982", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "982", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47715", "DefaultAuth": "", "Programs": []},{"ChanId": "2983", "ChanNum": "983", "CallSign": "FM-KKSF", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio983 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "33", "NetworkId": "0", "ATSCMajorChan": "983", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "983", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47716", "DefaultAuth": "", "Programs": []},{"ChanId": "2984", "ChanNum": "984", "CallSign": "FM-KFOG", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio984 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "34", "NetworkId": "0", "ATSCMajorChan": "984", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "984", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47717", "DefaultAuth": "", "Programs": []},{"ChanId": "2985", "ChanNum": "985", "CallSign": "FM-KMHX", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio985 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "35", "NetworkId": "0", "ATSCMajorChan": "985", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "985", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47718", "DefaultAuth": "", "Programs": []},{"ChanId": "2986", "ChanNum": "986", "CallSign": "FM-KITS", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio986 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "36", "NetworkId": "0", "ATSCMajorChan": "986", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "986", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47719", "DefaultAuth": "", "Programs": []},{"ChanId": "2987", "ChanNum": "987", "CallSign": "FM-KMEL", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio987 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "37", "NetworkId": "0", "ATSCMajorChan": "987", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "987", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47721", "DefaultAuth": "", "Programs": []},{"ChanId": "2988", "ChanNum": "988", "CallSign": "FM-KEZR", "IconURL": "/MythMedia/icons/radio.png", "ChannelName": "Radio988 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "38", "NetworkId": "0", "ATSCMajorChan": "988", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "988", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47722", "DefaultAuth": "", "Programs": []},{"ChanId": "2989", "ChanNum": "989", "CallSign": "FM-KSAN", "IconURL": "radio.png", "ChannelName": "Radio989 (Lineups)", "MplexId": "96", "TransportId": "0", "ServiceId": "39", "NetworkId": "0", "ATSCMajorChan": "989", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_64", "Frequency": "99000000", "FrequencyId": "989", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "47723", "DefaultAuth": "", "Programs": []},{"ChanId": "207003", "ChanNum": "195", "CallSign": "KGOACCU", "IconURL": "/MythMedia/icons/abc.png", "ChannelName": "KGODT3 (KGO-DT3)", "MplexId": "80", "TransportId": "0", "ServiceId": "8", "NetworkId": "0", "ATSCMajorChan": "195", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "561000000", "FrequencyId": "195", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "49937", "DefaultAuth": "", "Programs": []},{"ChanId": "2197", "ChanNum": "197", "CallSign": "KICU SD", "IconURL": "/MythMedia/icons/kicu_tv36_san_jose.png", "ChannelName": "KICUDT2 (KICU-DT2)", "MplexId": "119", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "197", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "765000000", "FrequencyId": "197", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "50459", "DefaultAuth": "", "Programs": []},{"ChanId": "2192", "ChanNum": "192", "CallSign": "KQEDK", "IconURL": "/MythMedia/icons/kteh.png", "ChannelName": "KTEHDT4 (KTEH-DT4)", "MplexId": "90", "TransportId": "0", "ServiceId": "10", "NetworkId": "0", "ATSCMajorChan": "192", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "621000000", "FrequencyId": "192", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "false", "XMLTVID": "58519", "DefaultAuth": "", "Programs": []},{"ChanId": "211003", "ChanNum": "187", "CallSign": "KNTVU", "IconURL": "/MythMedia/icons/nbc.png", "ChannelName": "Universal Sports", "MplexId": "79", "TransportId": "0", "ServiceId": "3", "NetworkId": "0", "ATSCMajorChan": "187", "ATSCMinorChan": "0", "Format": "Default", "Modulation": "qam_256", "Frequency": "555000000", "FrequencyId": "187", "FrequencyTable": "default", "FineTune": "0", "SIStandard": "atsc", "ChanFilters": "", "SourceId": "2", "InputId": "0", "CommFree": "0", "UseEIT": "false", "Visible": "true", "XMLTVID": "61388", "DefaultAuth": "", "Programs": []}]}}
15:53

15/04/2011

your JSON is still not valid actually, but
The above is an isolated test case that shows the problem; In my real world scenario, if the delrowdata succeeds I call a function to delete the corresponding database row. If I have (imagine) rows 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, and call the above code on them, the grid refreshes with rows 2, 4, 6, 8, 10 still present.
i dont understand actually - what is this client-side code for
if ($("#channels").jqGrid('delRowData', value))
if you refreshes your grid - that means only db state matters, or you working with local data?
delRowData delete row from grid without refresh
the problem is not in code you giving or please give more details
16:15

15/04/2011

here what i found:
http://stackoverflow.com/quest.....rom-jqgrid
see the 1st answer
https://github.com/tonytomov/jqGrid/commit/ce7808fcdbbfb3a9fbec58f7afee5725612c23e1
and check this too
22:52

12/04/2011

mascott said:
your JSON is still not valid actually, but
Sorry, what's not valid? I cut and pasted JSON data that jsonlint states is valid.
i dont understand actually - what is this client-side code for
if ($("#channels").jqGrid('delRowData', value))
if you refreshes your grid - that means only db state matters, or you working with local data?
I am working with local data. I must update both the DB *and* remove the rows from jqgrid-- But I feel like we're not seeing the forest for the trees here. Should I, or should I not be able to iterate through an array of raw indexes, as above, and call delrowdata on each of them? Because it only succeeds on half of them, and the JSON data, according to jsonlint, is valid.
Thanks a lot for your help.
22:56

12/04/2011

mascott said:
here what i found:
http://stackoverflow.com/quest.....rom-jqgrid
see the 1st answer
https://github.com/tonytomov/jqGrid/commit/ce7808fcdbbfb3a9fbec58f7afee5725612c23e1
and check this too
Thanks, these do not appear relevant-- as mentioned above, *half* of the rows are deleted, and all were pulled with selarrrow... and I can get an array with selarrrow and perform *any other action I want* in a loop on it... just not a delete.
18:39

12/04/2011

Because the data is local, and if I don't remove the row data, then I need to do a very slow re-grab of the whole array, as the server is unable to provide the data paged.
I still feel like we are getting off-track here– Should one, or should one not be able to delete the row data by iterating through an array of row IDs? I am not able to take a different approach because I cannot regularly reload the data. I must remove the row data. I cannot remove the row data currently by iterating through an array of valid row IDs. This appears to be a bug.
12:51

01/08/2011

Hi – I can confirm that I'm seeing this same issue.
I have put something up at jsbin: http://jsbin.com/icaniy/edit#preview
This has the unminified version of jqgrid 4.0.0 in it (the minified version was bringing up a fatal warning – something to watch out for anyway). It is set to use jquery 1.6.2, but I have tried it with versions back to 1.4. I have also just tried 4.1.2 of jqgrid locally, and the same issue occurs.
The $grid.jqGrid('getGridParam','selarrrow') returns a complete array of ids of the selected rows.
When I loop through them (using any looping method) and delete the row, only the odd-indexed items in the selection are removed. The others remain in the grid and remain selected.
Thanks for any input on this. It's making my app fairly useless at the moment…
Most Users Ever Online: 715
Currently Online:
54 Guest(s)
Top Posters:
OlegK: 1255
markw65: 179
kobruleht: 144
phicarre: 132
YamilBracho: 124
Renso: 118
Member Stats:
Guest Posters: 447
Members: 11373
Moderators: 2
Admins: 1
Forum Stats:
Groups: 1
Forums: 8
Topics: 10592
Posts: 31289
Newest Members:
, razia, Prankie, psky, praveen neelam, greg.valainis@pa-tech.comModerators: tony: 7721, Rumen[Trirand]: 81
Administrators: admin: 66