Start Building Professional
Web Apps Today


 
Categories Question details Back To List
Question  posted by ihsany on Nov 07, 2008 09:45
open dhtmlx forum
dhtmlx + ajax scriptmanager pagemethods usage

hi,

is it possible to use scriptmanager pagemethods with dhtmlx components?

if so, any sample can you send?

thanks in advance..
Answer posted by Support on Nov 10, 2008 09:39

The component is fully client side and not rely on any server side technologies.
I think it possible to load related scripts and init component through scriptmanger, but there is no any special built-in support for such use-case. 

Answer posted by ihsany on Nov 11, 2008 01:05

yes, i research lots of grid components and dhtmlx grid has best performance for me.. i tested your grid for scriptmanager pagemethods, it is working but there are some issues..

i m using grid in srnd mode, when i load all data from server everything is ok, but when i use dynamic load, grid does not go to server to load data when i scroll..

now i m working for implement grid with scriptmanager pagemethods and if you have some idea please share with me.. And i think this will be a strong feature for your components..

sample code for dhtmlxgrid and scriptmanager pagemethods;

//some code in head
//...
//...

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true"></asp:ScriptManager>

<div style="display: none">
<div id="title_flt_box">
<input type="text" style="border: 1px solid gray;" onclick="(arguments[0]||window.event).cancelBubble=true;" onkeyup="filterBy();">
<input type="text" style="border: 1px solid gray;" onclick="(arguments[0]||window.event).cancelBubble=true;" onkeyup="filterBy();">
<input type="text" style="border: 1px solid gray;" onclick="(arguments[0]||window.event).cancelBubble=true;" onkeyup="filterBy();">
</div>
</div>

<div id="products_grid" style="width: 500px; height: 200px;"></div>

<script>
var gridQString = "";
var mygrid = new dhtmlXGridObject('products_grid');
mygrid.setImagePath(
"../imgs/");
mygrid.setHeader(
"Product Name,Internal Code,Price");
mygrid.setInitWidths(
"150,150,150");
mygrid.setColAlign(
"left,left,right");
mygrid.setSkin(
"light");
mygrid.setColSorting(
"server,server,server");
mygrid.init();
mygrid.enableSmartRendering(
true);
PageMethods.GetXml("somerequest",dataLoaded,dataFailed);
function dataLoaded(strXData){
mygrid.parse(strXData, function(){
mygrid.attachHeader(
"<div id='title_flt' style=\"padding:2px 2px 2px 2px;\"></div>,<div id='code_flt' style=\"padding:2px 2px 2px 2px;\"></div>,<div id='price_flt' style=\"padding:2px 2px 2px 2px;\"></div>");
document.getElementById(
"title_flt").appendChild(document.getElementById("title_flt_box").childNodes[0])
document.getElementById(
"code_flt").appendChild(document.getElementById("title_flt_box").childNodes[1])
document.getElementById(
"price_flt").appendChild(document.getElementById("title_flt_box").childNodes[2])
mygrid.setSizes();
});
}

function dataFailed(){
alert(
"Data Load Error");
}

</script>

thanks in advance..

 

Answer posted by Support on Nov 11, 2008 04:44
To have dyn. srnd working

mygrid.enableSmartRendering(true);
mygrid.xmlFileUrl=true;
mygrid.attachEvent("onDynXLS",function(start,count){
     PageMethods.GetXml(... //get xml for rows [start] - [start+count]
     return false;
})