JQuery将DataTable数据转换成JSON数据
动态创建表格显示数据
一般处理程序JsonDate.ashx
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
DataTable data2 = myData();
string str = DataTableToJson("myJson", data2);//构建的json数据
context.Response.Write(str);
}
public bool IsReusable
{
get
{
return false;
}
}
//用datatable做数据,数据模拟
public DataTable myData()
{
DataTable dt = new DataTable();
DataColumn dc;
DataRow dr;
dc = new DataColumn("Name", System.Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("Email", System.Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("Phon", System.Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("Move", System.Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("Pan", System.Type.GetType("System.String"));
dt.Columns.Add(dc);
dc = new DataColumn("select", System.Type.GetType("System.String"));
dt.Columns.Add(dc);
for (int i = 1; i < 7; i++)
{
dr = dt.NewRow();
dr["Name"] = "Name" + i.ToString();
dr["Email"] = "Email" + i.ToString();
dr["Phon"] = "Phon" + i.ToString();
dr["Move"] = "Move" + i.ToString();
dr["Pan"] = "Pan" + i.ToString();
dr["select"] = i.ToString();
dt.Rows.Add(dr);
}
int count = dt.Rows.Count;
return dt;
}
//将datatable数据转换成JSON数据
public string DataTableToJson(string jsonName, DataTable dt)
{
StringBuilder Json = new StringBuilder();
Json.Append("[");
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
Json.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
Json.Append(dt.Columns[j].ColumnName.ToString() + ":\"" + dt.Rows[i][j].ToString() + "\"");
if (j < dt.Columns.Count - 1)
{
Json.Append(",");
}
}
Json.Append("}");
if (i < dt.Rows.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]");
return Json.ToString();
}
//列表数据转换到json数据
public string ObjectToJson<T>(string jsonName, IList<T> IL)
{
StringBuilder Json = new StringBuilder();
Json.Append("[");
if (IL.Count > 0)
{
for (int i = 0; i < IL.Count; i++)
{
T obj = Activator.CreateInstance<T>();
Type type = obj.GetType();
PropertyInfo[] pis = type.GetProperties();
Json.Append("{");
for (int j = 0; j < pis.Length; j++)
{
Json.Append(pis[j].Name.ToString() + ":\"" + pis[j].GetValue(IL[i], null) + "\"");
if (j < pis.Length - 1)
{
Json.Append(",");
}
}
Json.Append("}");
if (i < IL.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]");
return Json.ToString();
}
页面Default.aspx
function GetData()
{
$.getJSON(
"JsonData.ashx",//产生Json数据的服务端页面
function(json)
{
for(var i=0;i<json.length;i++)
{
//开始
var index=-1;
var txtTRLastIndex = findObj("txtTRLastIndex",document);
var rowID = parseInt(txtTRLastIndex.value);
var signFrame = findObj("SignFrame",document);
//添加行
var newTR = signFrame.insertRow(signFrame.rows.length);
newTR.id = "SignItem" + rowID;
//添加列:序号
var newNameTD=newTR.insertCell(0);
//添加列内容
newNameTD.innerHTML = newTR.rowIndex.toString();
//添加列:姓名
var newNameTD=newTR.insertCell(1);
//添加列内容
newNameTD.innerHTML = "<input name='txtName" + rowID + "' id='txtName" + rowID + "' value='"+json[i].Name+"' type='text' size='12' />";
//添加列:电子邮箱
var newEmailTD=newTR.insertCell(2);
//添加列内容
newEmailTD.innerHTML = "<input name='txtEMail" + rowID + "' id='txtEmail" + rowID + "' value='"+json[i].Email+"' type='text' size='20' />";
//添加列:电话
var newTelTD=newTR.insertCell(3);
//添加列内容
newTelTD.innerHTML = "<input name='txtTel" + rowID + "' id='txtTel" + rowID + "' value='"+json[i].Phon+"' type='text' size='10' />";
//添加列:手机
var newMobileTD=newTR.insertCell(4);
//添加列内容
newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' value='"+json[i].Move+"' type='text' size='12' />";
//添加列:公司名
var newCompanyTD=newTR.insertCell(5);
//添加列内容
newCompanyTD.innerHTML = "<input name='txtCompany" + rowID + "' id='txtCompany" + rowID + "' value='"+json[i].Pan+"' type='text' size='20' />";
//添加下拉框
var newCompanyTD=newTR.insertCell(6);
newCompanyTD.innerHTML = "<select id='Select"+rowID+"'><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option> </select>";
//动态选中下拉框
for(var j=0;j<document.getElementById("Select"+rowID).options.length;j++)
{
if(document.getElementById("Select"+rowID).options[j].text==json[i].select)
index=j;
}
if(index>=0)
document.getElementById("Select"+rowID).options[index].selected=true;
//添加列:删除按钮
var newDeleteTD=newTR.insertCell(7);
//添加列内容
newDeleteTD.innerHTML = "<div align='center' style='width:40px'><a href='javascript:;' onclick=\"DeleteSignRow('SignItem" + rowID + "')\">删除</a></div>";
//将行号推进下一行
txtTRLastIndex.value = (rowID + 1).toString();
}
}
)
}
分享到:
相关推荐
jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换jquery ajax Datatable与json之间数据转换...
5. **JSON数据响应**: DataTables 需要JSON格式的数据,所以Action需要将结果集转化为JSON并返回给前端。 6. **前端回调处理**: DataTables 在加载数据后,会触发`drawCallback`等回调函数,你可以在这里进行进一步...
JQuery DataTable 是一个高度灵活且功能丰富的插件,能够将HTML表格转换成具有高级交互性的动态表格。它支持复杂的数据排序、搜索、分页等功能,并能很好地与Bootstrap等前端框架结合使用。此中文文档详细介绍了如何...
`jQuery DataTables` 是一个功能强大的JavaScript库,用于将HTML表格转换为高度可配置且交互式的数据展示工具。它提供了丰富的搜索、排序、过滤和分页功能,使得在网页上处理大量数据变得更加便捷。`JQuery ...
jQuery的DataTable是一个强大的、高度可配置的JavaScript库,用于将HTML表格转换为功能丰富的数据网格。它提供了丰富的排序、过滤、分页、搜索和显示功能,大大增强了网页中表格的交互性和用户体验。DataTable插件是...
标题“Jquery dataTable完整例子(取数据、分页、样式等)”和描述表明,我们将讨论如何利用这个插件实现数据的获取、分页、排序和搜索功能,并且将看到一个具体的实例,帮助理解如何与JSON数据进行交互。...
最近被jquery折磨了一番,倒腾了一个jquery解析json的demo,本demo想实现从asp.net后台实例化dataSet或者dataTable数据集,将dataSet转换成json并返回给客户端,客户端用jquery getJson方法解析出来并显示在页面上。...
将DataTable转换为JSON的主要目的是使客户端JavaScript能够直接使用这些数据,而无需服务器进行额外的处理。这通常涉及到以下几个步骤: 1. **序列化DataTable**:这是将.NET对象转换为JSON字符串的过程。在ASP.NET...
总结,将`DataTable`转化成JSON并发送到前端,主要是通过`JsonConvert.SerializeObject()`序列化和`jQuery.parseJSON()`反序列化两个步骤完成。这种方法适用于简单的数据传递,对于复杂的业务场景,可能需要考虑使用...
在标题"C# DataTable json"中提到的知识点主要是如何将C#中的`DataTable`对象转换成JSON格式,以便与使用EasyUI的前端交互。EasyUI是一个基于jQuery的UI框架,它提供了丰富的组件,如数据网格、表单、对话框等,这些...
jQuery 的插件 dataTables 是一个优秀的表格插件,提供了针对表格的排序、浏览器分页、服务器分页、筛选、格式化等功能。 分页、排序、检索 Datatable与json之间数据转换,一个详细完整的例子!
在返回数据时,Java开发者可以将查询结果转换为JSON格式,供dataTable解析并展示在前端。 **使用步骤:** 1. **引入依赖**:在HTML文件中引入jQuery库和dataTable的相关CSS、JS文件。 2. **初始化表格**:在HTML...
`jQuery DataTables` 是一个功能强大的JavaScript库,用于将HTML表格转换为高度交互的数据展示工具。它提供了丰富的功能,包括数据检索、排序、过滤、分页和自定义样式,使得网页上的数据管理更加便捷高效。在与`...
jQuery DataTables 是一款功能强大的JavaScript库,用于将HTML表格转化为交互式数据视图。服务器端分页(Server-side pagination)是其核心特性之一,尤其适用于处理大量数据时,能有效提高网页性能。 **1. 服务器...
本主题将深入探讨“结构化_JQUERY传输_json”,包括如何利用jQuery传递结构化数据、如何将结构化数据转换为Datatable以及如何将Datatable内的数据转换回结构化数据,并在页面上动态显示表格。 首先,我们来看jQuery...
本篇将详细讲解如何使用jQuery通过JSON获取DataTable数据,将其转化为HTML表格,并实现分页显示。 首先,我们需要了解JSON。JSON是一种基于文本的格式,其数据结构主要包含对象(键值对)和数组。在JavaScript中,...
这个插件支持后台处理程序直接转换成DataTable处理,使得数据管理和交互更加高效。 首先,jsorder插件的使用需要引入必要的库文件,包括jQuery核心库、插件自身的样式表和JavaScript文件,以及可能的自定义CSS和...
2. **JSON数据格式化**:由于JQuery Datatable通常使用JSON数据格式来获取服务器端数据,Action需要将处理后的数据转换为JSON格式,可以通过使用Struts 2的JSON插件或自定义Result类型来实现。 3. **Ajax请求设置**...
本篇文章将详细探讨如何利用Servlet生成数据,并通过jQuery在前端页面的表格中进行数据填充。 首先,我们来了解Servlet。Servlet是Java EE平台中的一个组件,它用于扩展服务器的功能,处理来自客户端(通常是Web...
JQuery与JSON的结合,允许开发者轻松地从服务器获取JSON数据并更新页面内容,同时,JQuery还提供了一些插件,如DataTable、Select2等,这些插件能够很好地支持JSON数据的展示和操作。 在这个例子中,我们看到几个与...