AjaxPro 返回 DataSet/DataTable/DataView 如何呈现?
2007-07-30 01:43 晓风残月 阅读(4036) 评论(6) 收藏 举报
此示例展示通过 AjaxPro 返回一个 DataSet 并在页面上通过 html table 输出。
主要代码
// js
 <script type="text/javascript">
    <script type="text/javascript">
 function GetProductData()
    function GetProductData()
 {
    {
 var cb = function(res) {
        var cb = function(res) {
 if(res.error) return alert("发生错误\n" + res.error.Message);
            if(res.error) return alert("发生错误\n" + res.error.Message);
 //debugger;
            //debugger;
 //alert(res);
            //alert(res);
 var ds = res.value;
            var ds = res.value;
 var tbl = ds.Tables[0];
            var tbl = ds.Tables[0]; 
 var tblHtml = "<table border=1>";
            var tblHtml = "<table border=1>";
 
            
 // 表头
            // 表头
 tblHtml += "<tr>";
            tblHtml += "<tr>";
 for(var j = 0; j < tbl.Columns.length; j++) {
            for(var j = 0; j < tbl.Columns.length; j++) {
 tblHtml += "<th>" + tbl.Columns[j].Name + "</th>";
                tblHtml += "<th>" + tbl.Columns[j].Name + "</th>";
 }
            }
 tblHtml += "</tr>";
            tblHtml += "</tr>";
 
            
 // 数据
            // 数据
 for(var i = 0; i < tbl.Rows.length; i++) {
            for(var i = 0; i < tbl.Rows.length; i++) {
 tblHtml += "<tr>";
                tblHtml += "<tr>";
 for(var j = 0; j < tbl.Columns.length; j++) {
                for(var j = 0; j < tbl.Columns.length; j++) {
 tblHtml += "<td>" + tbl.Rows[i][tbl.Columns[j].Name] + "</td>";
                    tblHtml += "<td>" + tbl.Rows[i][tbl.Columns[j].Name] + "</td>";
 }
                }
 tblHtml += "</tr>";
                tblHtml += "</tr>";
 }
            }
 tblHtml += "</table>";
            tblHtml += "</table>";
 var divPro = document.getElementById("divPro");
            var divPro = document.getElementById("divPro");
 divPro.innerHTML = tblHtml;
            divPro.innerHTML = tblHtml;
 }
        }
 AjaxProSample.GetProductSet(cb);
        AjaxProSample.GetProductSet(cb);        
 }
    }
 </script>
    </script>
 
// .aspx.cs
 [AjaxPro.AjaxNamespace("AjaxProSample")]
[AjaxPro.AjaxNamespace("AjaxProSample")]
 public partial class AjaxPro_ReturnDataSet : System.Web.UI.Page
public partial class AjaxPro_ReturnDataSet : System.Web.UI.Page
 {
{
 protected void Page_Load(object sender, EventArgs e)
    protected void Page_Load(object sender, EventArgs e)
 {
    {
 AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxPro_ReturnDataSet));
        AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxPro_ReturnDataSet));
 }
    }


 [AjaxPro.AjaxMethod]
    [AjaxPro.AjaxMethod]
 public static DataSet GetProductSet()
    public static DataSet GetProductSet()
 {
    {
 return CreateSampleProductSet();
        return CreateSampleProductSet();
 }
    }

 sample data
    sample data    
 }
}
 
AjaxPro 支持直接返回 DataTable 和 DataView ,客户端读取方式同 DataSet
 var tbl = res.value;  // 直接访问 DataTable
var tbl = res.value;  // 直接访问 DataTable
 
需要注意的是,返回 DataView,实际上是返回 DataView 关联的 DataTable 。
完整代码下载
主要代码
// js
 <script type="text/javascript">
    <script type="text/javascript"> function GetProductData()
    function GetProductData() {
    { var cb = function(res) {
        var cb = function(res) { if(res.error) return alert("发生错误\n" + res.error.Message);
            if(res.error) return alert("发生错误\n" + res.error.Message); //debugger;
            //debugger; //alert(res);
            //alert(res); var ds = res.value;
            var ds = res.value; var tbl = ds.Tables[0];
            var tbl = ds.Tables[0];  var tblHtml = "<table border=1>";
            var tblHtml = "<table border=1>"; 
             // 表头
            // 表头 tblHtml += "<tr>";
            tblHtml += "<tr>"; for(var j = 0; j < tbl.Columns.length; j++) {
            for(var j = 0; j < tbl.Columns.length; j++) { tblHtml += "<th>" + tbl.Columns[j].Name + "</th>";
                tblHtml += "<th>" + tbl.Columns[j].Name + "</th>"; }
            } tblHtml += "</tr>";
            tblHtml += "</tr>"; 
             // 数据
            // 数据 for(var i = 0; i < tbl.Rows.length; i++) {
            for(var i = 0; i < tbl.Rows.length; i++) { tblHtml += "<tr>";
                tblHtml += "<tr>"; for(var j = 0; j < tbl.Columns.length; j++) {
                for(var j = 0; j < tbl.Columns.length; j++) { tblHtml += "<td>" + tbl.Rows[i][tbl.Columns[j].Name] + "</td>";
                    tblHtml += "<td>" + tbl.Rows[i][tbl.Columns[j].Name] + "</td>"; }
                } tblHtml += "</tr>";
                tblHtml += "</tr>"; }
            } tblHtml += "</table>";
            tblHtml += "</table>"; var divPro = document.getElementById("divPro");
            var divPro = document.getElementById("divPro"); divPro.innerHTML = tblHtml;
            divPro.innerHTML = tblHtml; }
        } AjaxProSample.GetProductSet(cb);
        AjaxProSample.GetProductSet(cb);         }
    } </script>
    </script>
// .aspx.cs
 [AjaxPro.AjaxNamespace("AjaxProSample")]
[AjaxPro.AjaxNamespace("AjaxProSample")] public partial class AjaxPro_ReturnDataSet : System.Web.UI.Page
public partial class AjaxPro_ReturnDataSet : System.Web.UI.Page {
{ protected void Page_Load(object sender, EventArgs e)
    protected void Page_Load(object sender, EventArgs e) {
    { AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxPro_ReturnDataSet));
        AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxPro_ReturnDataSet)); }
    }

 [AjaxPro.AjaxMethod]
    [AjaxPro.AjaxMethod] public static DataSet GetProductSet()
    public static DataSet GetProductSet() {
    { return CreateSampleProductSet();
        return CreateSampleProductSet(); }
    }
 sample data
    sample data     }
}
AjaxPro 支持直接返回 DataTable 和 DataView ,客户端读取方式同 DataSet
 var tbl = res.value;  // 直接访问 DataTable
var tbl = res.value;  // 直接访问 DataTable
需要注意的是,返回 DataView,实际上是返回 DataView 关联的 DataTable 。
完整代码下载
 
                    
                     
                    
                 
                    
                

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号