閱讀140 返回首頁    go 汽車大全


ExtJs學習筆記(1)ItemSelector (用戶關係左右選擇組件)


這是本地讀取數據。

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=GB2312">
        <title>Tree</title>
        <link rel="stylesheet" type="text/css" href="../../../resources/css/ext-all.css" />
		<link rel="stylesheet" type="text/css" href="MultiSelect.css" />
        <script type="text/javascript" src="../../../adapter/ext/ext-base.js"></script>
        <script type="text/javascript" src="../../../ext-all.js"></script>
        <script type="text/javascript" src="MultiSelect.js"></script>
		<script type="text/javascript" src="ItemSelector.js"></script>
        <script type="text/javascript">
			Ext.onReady(function()
			{
				var leftStore = new Ext.data.ArrayStore(
				{
					data: [
						['1', '卡卡'], 
						['2', '羅納爾多'], 
						['3', '梅西'], 
						['4', '羅納爾迪尼奧'], 
						['5', '阿奎羅'],
						['6', '本澤馬'], 
						['7', '哈維'], 
						['8', '比利亞'], 
						['10', '小豌豆'],
						['11', '特略'],
						['12', '法爾考'],
						['13', '蘇亞雷斯']
					],
					fields: ['id','name'],
					sortInfo: {
						field: 'name',
						direction: 'ASC'
					}
				});
				var rightStore = new Ext.data.ArrayStore(
				{
					data: [
						['1', 'C羅'], 
						['2', '內馬爾'], 
						['3', '法布雷加斯']
					],
					fields: ['id','name'],
					sortInfo: {
						field: 'name',
						direction: 'ASC'
					}
				});
				var userForm = new Ext.form.FormPanel(
				{
					items : [
					{
						xtype : 'itemselector',
						id:'userSelector',
						anchor : '100%',
						name : 'userSelector',
						hideLabel : true,
						renderTo:'ItemSelector',
						style : 'margin-top:10px;margin-left:10px;margin-right:10px;',
						imagePath : 'images/',
						multiselects : [
							{
								id:'left',
								width : 150,
								height : 250,
								legend :'待選人員',
								store :leftStore,
								valueField : 'id',
								displayField : 'name'
							},
							{
								id:'right',
								width : 150,
								height : 250,
								legend : '已選人員',
								store:rightStore,
								valueField : 'id',
								displayField : 'name',
								tbar : [
								{
									text : '清除',
									handler : function() {
										userForm.getForm().findField('userSelector').reset();
									}
								}]
							}
						],
					}]
				});//form
			}
		);
        </script>
    </head>
    <body>
        <div  ></div>
    </body>
</html>







在使用ItemSelector時需要引用3個文件:


按照以上代碼就可以使用讀取本地數據的用戶選擇組件了。


如果想讀取後台數據,還需要稍微改動一下store。

//待選人員數據
	var leftStore = new Ext.data.Store(
	{  
		id:'leftStore',  
		proxy : new Ext.data.HttpProxy({url:"/Web/Manage/DeskTop/JSON/CommonFile/UserSelector.aspx"}),  
		reader: new Ext.data.JsonReader(
			{  
				totalProperty:'totalCount',  
				root:'root'
			},  
			[  
				{name:'id',type:'int'},  
				{name:'name',type:'string'}  
            ]  
		)  
    });  
    leftStore.load(); 

url中的地址就是用來讀取後台數據的。


UserSelector.aspx

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Text;

public partial class Manage_DeskTop_JSON_CommonFile_UserSelector : System.Web.UI.Page
{
    private int count = 0;
    private SQL sqlManage = null;
    private StringBuilder sb = new StringBuilder();
    private StringBuilder jsonBody = new StringBuilder();
    private string sql = null;
    private SqlDataReader sr = null;
    private bool IsSuccess;
    private string error = null;

    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            sqlManage = new SQL();
            sql = "select Id,UserName from UserInfo";
            sr = sqlManage.getDataReader(sql);
            jsonBody.Append("root:[");
            while (sr.Read())
            {
                    if (count != 0)
                    {
                        jsonBody.Append(",");
                    }
                    jsonBody.Append("{");
                    jsonBody.AppendFormat("id:'{0}',name:'{1}'", sr[0].ToString(), sr[1].ToString());
                    jsonBody.Append("}");
                    count++;
            }
            jsonBody.Append("]");
            this.IsSuccess = true;
        }
        catch (Exception exp)
        {
            this.IsSuccess = false;
            error = exp.Message;
        }

        if (this.IsSuccess == true)
        {
            sb.Append("{");
            sb.AppendFormat("totalCount:{0}", count);
            sb.Append(",");
            sb.Append(jsonBody);
            sb.Append("}");
            Response.Write(sb);
        }
        else
        {
            Response.Write("{success:false,error:'" + error + "'}");
        }
    }
}





最後更新:2017-04-03 16:48:57

  上一篇:go django版 helloworld
  下一篇:go Java中線程安全的單例模式