Sign In| Join
Get Help:Ask a Question in our Forums|Report a Bug|More Help Resources
All-Star
30184 Points
4906 Posts
Feb 03, 2011 06:22 AM|LINK
Hi,
jTemplete directly does not support table or dataset. You can do some twiking as below-
HTML-
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> <script type="text/javascript" src="scripts/jquery.js"></script> <script src="scripts/jtemplates.js" type="text/javascript"></script> <script type="text/javascript"> function btnGetResult_onclick() { $.ajax({ type: "POST", url: "ServiceCompas.asmx/GetList", contentType: "application/json; charset=utf-8", dataType: "json", success: function(data) { $('#placeholder').setTemplate($('#template').html()); $('#placeholder').processTemplate(data.d); }, error: function(xhr, status, e) { } }); } </script> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <script id="template" type="text/html"> <table> <thead> <tr> <th style="border-width:thin; border-style:solid;">ScreeningPropertyID</th> <th style="border-width:thin; border-style:solid;">ScreeningValue</th> </tr> </thead> <tbody> {#foreach $T as record} <tr> <td>{ $T.record.ScreeningPropertyID }</td> <td>{ $T.record.ScreeningValue }</td> </tr> {#/for} </tbody> </table> </script> <br /> <input type="button" id="Button1" value="Click to see result" onclick="return btnGetResult_onclick()" /> <br /> <div id="placeholder"> </div> </asp:Content>
Service Web Method-
[WebMethod] public List<ScreeningPropertyModel> GetList() { //your dataTable from database DataTable dt = new DataTable(); dt.Columns.Add("ScreeningPropertyID"); dt.Columns.Add("ScreeningValue"); DataRow dr=dt.NewRow(); dr["ScreeningPropertyID"] = 1; dr["ScreeningValue"] = "test value"; dt.Rows.Add(dr); //end datatable List<ScreeningPropertyModel> obj = new List<ScreeningPropertyModel>(); for (int i = 0; i < dt.Rows.Count; i++) { obj.Add(new ScreeningPropertyModel() { ScreeningPropertyID = Convert.ToString(dt.Rows[i]["ScreeningPropertyID"]), ScreeningValue = Convert.ToString(dt.Rows[i]["ScreeningValue"]) }); } return obj; }
Data Class-
public class ScreeningPropertyModel { public string ScreeningPropertyID { get; set; } public string ScreeningValue { get; set; } }
asteranup
All-Star
30184 Points
4906 Posts
Re: Show 1st row of dataset with jTemplate
Feb 03, 2011 06:22 AM|LINK
Hi,
jTemplete directly does not support table or dataset. You can do some twiking as below-
HTML-
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> <script type="text/javascript" src="scripts/jquery.js"></script> <script src="scripts/jtemplates.js" type="text/javascript"></script> <script type="text/javascript"> function btnGetResult_onclick() { $.ajax({ type: "POST", url: "ServiceCompas.asmx/GetList", contentType: "application/json; charset=utf-8", dataType: "json", success: function(data) { $('#placeholder').setTemplate($('#template').html()); $('#placeholder').processTemplate(data.d); }, error: function(xhr, status, e) { } }); } </script> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <script id="template" type="text/html"> <table> <thead> <tr> <th style="border-width:thin; border-style:solid;">ScreeningPropertyID</th> <th style="border-width:thin; border-style:solid;">ScreeningValue</th> </tr> </thead> <tbody> {#foreach $T as record} <tr> <td>{ $T.record.ScreeningPropertyID }</td> <td>{ $T.record.ScreeningValue }</td> </tr> {#/for} </tbody> </table> </script> <br /> <input type="button" id="Button1" value="Click to see result" onclick="return btnGetResult_onclick()" /> <br /> <div id="placeholder"> </div> </asp:Content>Service Web Method-
[WebMethod] public List<ScreeningPropertyModel> GetList() { //your dataTable from database DataTable dt = new DataTable(); dt.Columns.Add("ScreeningPropertyID"); dt.Columns.Add("ScreeningValue"); DataRow dr=dt.NewRow(); dr["ScreeningPropertyID"] = 1; dr["ScreeningValue"] = "test value"; dt.Rows.Add(dr); //end datatable List<ScreeningPropertyModel> obj = new List<ScreeningPropertyModel>(); for (int i = 0; i < dt.Rows.Count; i++) { obj.Add(new ScreeningPropertyModel() { ScreeningPropertyID = Convert.ToString(dt.Rows[i]["ScreeningPropertyID"]), ScreeningValue = Convert.ToString(dt.Rows[i]["ScreeningValue"]) }); } return obj; }Data Class-
public class ScreeningPropertyModel { public string ScreeningPropertyID { get; set; } public string ScreeningValue { get; set; } }Anup Das Gupta
Mark as Answer if you feel so. Visit My Blog