.net DataTable转换json

dt//是从数据库查询返回的集合,当做参数放在转换json的方法中。

/// <summary>
    /// 将DataTable转换成json
    /// </summary>
    /// <param name="dt">查询车辆集合</param>
    /// <returns></returns>
    public string ConvertDataTableToJson(DataTable dt)
    {
        StringBuilder jsonBuilder = new StringBuilder();
        int count = dt.Rows.Count;
        if (count != 0)
        {
            //jsonBuilder.Append("{\"");
            //jsonBuilder.Append(dt.TableName);
            jsonBuilder.Append("[");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                jsonBuilder.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    jsonBuilder.Append("");
                    jsonBuilder.Append(dt.Columns[j].ColumnName);
                    jsonBuilder.Append(":\'");
                    jsonBuilder.Append(dt.Rows[i][j].ToString());
                    jsonBuilder.Append("\',");
                }
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                jsonBuilder.Append("},");
            }
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            jsonBuilder.Append("]");
            //jsonBuilder.Append("}");
            return jsonBuilder.ToString();
        }
        else
        {
            return null;
        }
       
    }

/

///js文件

/

$(document).ready(function () {
    $("#vehicleNo").autocomplete("fuzzyVehicleNo.aspx", {
        minChars: 2,  //用户输入几个字触发
        max: 100,  //最大显示条数
        autoFill: false,
        width: 150,
        delay: 500, //延迟响应
        dataType: "html",  //指定数据类型的渲染方式
        extraParams: { vehicleNo: function () { return $("#vehicleNo").val(); } }, //获得文本框的值
        parse: function (data) {
            if (data == null || data == "") {
                return;
            }
            var datavalue = eval_r(data);
            var rows = [];
            for (var i = 0; i < datavalue.length; i++) {
                rows[rows.length] = {
                    data: datavalue[i],
                    value: datavalue[i].VEHICLE_NO,
                    //result里面显示的是要返回到列表里面的值 
                    result: datavalue[i].VEHICLE_NO
                };
            }
            return rows;
        },
        formatItem: function (item) {

            return item.VEHICLE_NO;
        }
    }).result(function (event, data, formatted) {
        $("#vehicleNo").val(data.VEHICLE_NO);
    })
});

 

///

///查询

//

function selectVehicle() {
    var vehicle = $("#vehicleNo").val();
    $.ajax({
        type: "post",
        url: "findVehicleInfo.aspx",
        data: "vehicleNo=" + vehicle,
        contentType: "application/x-www-form-urlencoded;charset=utf-8",
        dataType: "html",
        success: function (data) {
            $("#floatDivTempty").empty();
            $("#floatDivTempty").append('<tr><th>选择</th><th>车牌号</th><th>底盘号</th><th>备注</th></tr>');
            if (data == null || data=="") {
                return;
            }
            var datavalue = eval_r(data);
            for (var i = 0; i < datavalue.length; i++) {
                $("#floatDivTempty").append('<tr><td><input type="radio" id="vehicleSign" name="vehicleSign" value="' + datavalue[i].VEHICLE_SIGN + '" /></td><td>' + datavalue[i].VEHICLE_NO + '</td><td>' + datavalue[i].CHASSIS_NUM + '</td><td>' + datavalue[i].REMARKS + '</td></tr>');
            }
        },
        error: function (xmlReq, err, c) {
            alert("出错啦!:" + err);
        }
    });
}

///

///aspx

///页面需要引用<link rel="stylesheet" type="text/css" href="../css/jquery.autocomplete.css" />

///在body中引用<script type="text/javascript" src="../js/jquery.autocomplete.js"></script>

//

<div class="floatDiv">
        <div class="floatDivM">
            <div class="floatDivT">
                <table cellpadding="0" cellspacing="0" border="0" id="floatDivTempty">
                    <tr>
                        <th>
                            选择
                        </th>
                        <th>
                            车牌号
                        </th>
                        <th>
                            底盘号
                        </th>
                        <th>
                            备注
                        </th>
                    </tr>
                </table>
            </div>
            <div class="floatDivB">
                <table cellpadding="0" cellspacing="0" border="0">
                    <tr>
                        <td>
                            <input type="text" size="10" id="vehicleNo" name="vehicleNo" />
                        </td>
                        <td>
                            <input type="button" class="seaBtn" value="查找车辆" οnclick="selectVehicle();" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input type="button" class="seaBtn" value="开始监控" id="startbtn" οnclick="StartMonitoring();" /><!--addMarker-->
                        </td>
                        <td>
                            <input type="button" class="seaBtn" value="停止监控" οnclick="StopMonitoring();" />
                        </td>
                    </tr>
                </table>
            </div>
        </div>
        <div class="floatBtn" id="btn">
        </div>
    </div>

做个备用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值