NGToolsCSharp/NGTools/Pages/Z_System/buy.aspx.cs

141 lines
4.2 KiB
C#
Raw Permalink Normal View History

2024-09-13 08:44:13 +00:00
using NGTools.Tools;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NGTools.Pages.Z_System
{
public partial class buy : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//查询得dataGrid的JSON数据
//传入的参数格式是:"tableName,条件字段~条件字段值"
//返回JSON对象
if (Request["action"] == "getDataGrid")
{
Response.Write(getData(Request.Form["par"]));
Response.End();
}
if (Request["action"] == "activeOrderNo")
{
Response.Write(getData(Request.Form["par"]));
Response.End();
}
}
/// <summary>
/// 获取网格数据表格并转换成JSON
/// 传入的参数格式是:"tableName,条件字段~条件字段值
/// </summary>
/// <returns>JSON格式</returns>
private string getData(string strPar)
{
string[] parm = strPar.Split('@');
string strSQL = "select Menu_ID as 功能编号,Menu_Name as 功能名称,MDJG as 买断价格,CSJG as 单次价格,BNJG as 包时价格 from ";
try
{
string strTableName = parm[0];
string[] strConditionField = parm[1].Split('~');
if (strConditionField[0] == "" || strConditionField[1] == "")
{
strSQL += strTableName;
}
else
{
strSQL += strTableName + " where ";
strSQL += strConditionField[0] + " in(";
strSQL += strConditionField[1] + ")";
}
}
catch (Exception)
{
}
DataTable dtTemp = MySQLHelper.ExecuteDataTable(strSQL);
string json = DataTableToJson(dtTemp, true);
return json;
}
/// <summary>
/// 把DataTable数据转换为Json格式
/// </summary>
/// <param name="dt">传入DataTable数据</param>
/// <returns></returns>
public string DataTableToJson(DataTable dt, bool multRow)
{
StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.Append("{\"total\"");
jsonBuilder.Append(":");
jsonBuilder.Append(dt.Rows.Count);
jsonBuilder.Append(",\"rows\":");
if (dt.Rows.Count != 1 || multRow) 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("\":\"");
if (dt.Columns[j].ColumnName == "RQ")
{
jsonBuilder.Append(dt.Rows[i][j].ToString().Split(' ')[0]);
}
else
{
jsonBuilder.Append(dt.Rows[i][j].ToString());
}
jsonBuilder.Append("\",");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("},");
}
if (dt.Rows.Count > 0)
{
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
}
if (dt.Rows.Count != 1 || multRow)
{ jsonBuilder.Append("],"); }
else { jsonBuilder.Append(","); };
jsonBuilder.Append("\"title");
//jsonBuilder.Append(dt.TableName);
jsonBuilder.Append("\":[");
//这是循环获取列名称
//jsonBuilder.Append("{\"title\": \"\", \"field\":\"ck\",\"checkbox\":\"true\",\"sortable\":\"false\"},");
for (int n = 0; n < dt.Columns.Count; n++)
{
jsonBuilder.Append("{");
jsonBuilder.Append("\"field");
jsonBuilder.Append("\":\"");
jsonBuilder.Append(dt.Columns[n].ColumnName);
jsonBuilder.Append("\",");
jsonBuilder.Append("\"title");
jsonBuilder.Append("\":\"");
jsonBuilder.Append((dt.Columns[n].ColumnName)+"\"");
jsonBuilder.Append(",\"sortable\":\"true\"");
jsonBuilder.Append("},");
}
jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
jsonBuilder.Append("},");
jsonBuilder.Remove(jsonBuilder.Length - 2, 2);
jsonBuilder.Append("]");
jsonBuilder.Append("}");
return jsonBuilder.ToString();
}
}
}