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(); } } /// /// 获取网格数据表格并转换成JSON /// 传入的参数格式是:"tableName,条件字段~条件字段值 /// /// JSON格式 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; } /// /// 把DataTable数据转换为Json格式 /// /// 传入DataTable数据 /// 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(); } } }