※ 參考Jquery easy ui 官網 Combobox Demo  Custom Format in ComboBox 一節。

顯示的選項

控制項的設定:

<asp:DropDownList ID="txtitem_no" runat="server" CssClass="easyui-combobox" data-options="url:getItemurl(),
                method: 'get',
                valueField: 'item_no',
                textField: 'item_name',
                panelWidth: 200,
                panelHeight: 'auto',  formatter: formatItem,editable: 'false',width: 200">
                        </asp:DropDownList>

 

Javascript:

     <script type="text/javascript">
         function getItemurl() {
             return "Item.ashx?f=q&rand=" + Math.floor((Math.random() * 10000) + 1);

             //結合.Net
         }
         function formatItem(row) {
             var s = '<span style="font-weight:bold">Item Name: ' + row.item_name + '</span><br/>' +
                     '<span style="color:#BBB">Desc:  ' + row.item_desc + '</span><br/>' +
                     '<span style="color:#FAA">Attention:  ' + row.app_remark + '</span>';
             return s;
         }
    </script>

 

.Net 的部分:

public void ProcessRequest (HttpContext context) {

string function = "";
        if (null != context.Request.QueryString["f"])
        {
            function = context.Request.QueryString["f"].ToString();
        }

switch (function)
        {

            case "q":
                Query(context);
                break;

           default:
                break;
        }

}

public void Query(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        string SQL = "Select item_no,item_name,item_desc ,app_remark from itemData where 1=1";
        DataSet myDS = new DataSet();
        myDS = new DataSet();
        myDS.Tables.Add(BaseDAO.Select("MSSQL", SQL));
        string strJson = Dataset2JsonRow(myDS, myDS.Tables[0].Rows.Count);//DataSet to Json
        context.Response.Write(strJson);//回寫前台
        context.Response.End();
    }

 

    public static string Dataset2JsonRow(DataSet ds, int total = -1)
    {
        StringBuilder json = new StringBuilder();

        foreach (DataTable dt in ds.Tables)
        {
            //{"total":5,"rows":[ 
            json.Append("[");
            json.Append(DataTable2Json(dt));
            json.Append("]");
        } return json.ToString();
    }

 

public static string DataTable2Json(DataTable dt)
    {
        StringBuilder jsonBuilder = new StringBuilder();

        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().Replace(Environment.NewLine, "<BR>"));
                jsonBuilder.Append("\",");
            }
            if (dt.Columns.Count > 0)
            {
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            }
            jsonBuilder.Append("},");
        }
        if (dt.Rows.Count > 0)
        {
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
        }

        return jsonBuilder.ToString();
    }

 

 

 

相关文章