myDataField=www.mywifiext.netwww.mywifiext.net..

EXT2.2+C#.net+Sql 2005实现将数据导入Excel保存
EXT2.2+C#.net+Sql 2005实现将数据导入Excel保存
简单介绍:结合EXT2.2+C#.net+Sql 2005实现将数据导入Excel保存,并且利用Ext2.2版本最新的功能将数据导出的按钮添加到分页条里面,这个功能在以前需要扩展Ext2.0/2.1版本才能够实现.(动态获取数据和实现分页).&功能:1,将数据导出的按钮添加到分页条里2,数据导入Excel3,动态获取数据和实现分页html页面源代码&%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %&&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&&html xmlns="http://www.w3.org/1999/xhtml" &&head id="Head1" runat="server"&
&title&实现导入Excel&/title&
&link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css" /&
&link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/xtheme-purple.css" /&
&script type="text/javascript" src="ExtJS/adapter/ext/ext-base.js"&&/script&
&script type="text/javascript" src="ExtJS/ext-all.js"&&/script&
&script type="text/javascript" src="ExtJS/ext-lang-zh_CN.js"&&/script&
&style type="text/css"&
.panel_icon { background-image:url(images/first.gif)}
.center_icon { background-image:url(images/center.png)}
&/style&&/head&&body&
&form id="form1" runat="server"&
&div id="grid_div"&&/div&
&script type="text/javascript"&
//这里主要实现一个从后台获取数据列,然后动态添加到ColumnModel中,再也不用手动配置的方式
function ready()
Ext.QuickTips.init();
//声明函数变量
//动态添加列,这是关键代码
var addColumn = function()
this.fields = '';
this.columns = '';
this.addColumns=function(name,caption)
if(this.fields.length & 0)
this.fields += ',';
if(this.columns.length & 0)
this.columns += ',';
this.fields += '{name:"' + name + '"}';
this.columns += '{header:"' + caption + '",dataIndex:"' + name + '",width:100,sortable:true}';
//从服务器端获取列,然后动态添加到ColumnModel中
Ext.Ajax.request
url:"gridJson.aspx?param=column",
success:function(response,option)
if(response.responseText=="")
data = new addColumn();
var res = Ext.util.JSON.decode(response.responseText);
for(var i=0;i&res.i++)
for(var p in res[i])
data.addColumns(p,p);
//动态生成GridPanel
makeGrid();
failure:function()
Ext.Msg.alert("消息","绑定数据出错!");
//动态生成GridPanel
var makeGrid = function()
var cm = new Ext.grid.ColumnModel(eval('([' + data.columns + '])'));
cm.defaultSortable = true;
var fields = eval('([' + data.fields + '])');
var newStore = new Ext.data.Store
proxy:new Ext.data.HttpProxy({url:"gridJson.aspx?param=data"}),
reader:new Ext.data.JsonReader({totalProperty:"totalPorperty",root:"root",fields:fields})
newStore.load({params:{start:0,limit:9}});
var pagingBar = new Ext.PagingToolbar
displayInfo:true,
emptyMsg:"没有数据显示",
displayMsg:"当前{0}--{1}条,共{2}条数据",
store:newStore,
pageSize:16,
pressed: true,
enableToggle:true,
text: '导出Excel',
cls: 'x-btn-text-icon details',
icon:"../images/plugin.gif",
toggleHandler: function(btn, pressed)
var title = "数据下载";
//如果是作为uri后面的参数传值,那就需要对字符进行编码
//如果是通过post的方式传数据,就不要做任何的编码
var cols = eval(cm);
var header = "";
var dataIndex = "";
for(var i=0;i&cols.config.i++)
header += cols.config[i].header+",";
dataIndex += cols.config[i].dataIndex+",";
var uri = "gridJson.aspx?param=InportExcel" + "&filename=" + escape(title) + "&header=" +header+ "&dataIndex=" +dataI
window.location.href =
var gridPanel = new Ext.grid.GridPanel
title:"导出Excel",
id:"grid_panel",renderTo:"grid_div",
store:newStore,
frame:false,
border:true,
layout:"fit",
pageSize:9,
autoWidth:true,
height:300,
width:600,
viewConfig:{forceFit:true},
bbar:pagingBar
Ext.onReady(ready);
&/form&&/body&&/html&&后台源代码using Newtonsoft.Jusing System.IO;public partial class Json : System.Web.UI.Page{
protected void Page_Load(object sender, EventArgs e)
#region 分页
int pagesize = 20;
int start = 1;
string field, asc_
if (string.IsNullOrEmpty(Request["sort"]))
field = "ID";
asc_desc = "desc";
field = Request["sort"];
asc_desc = Request["dir"];
if (!string.IsNullOrEmpty(Request["limit"]))
pagesize = int.Parse(Request["limit"]);
start = int.Parse(Request["start"]);
start = start /
start += 1;
#endregion
string param = Request["Param"];
switch (param)
case "data":
Response.Write(Select(field, asc_desc, pagesize, start));
case "column":
Response.Write(GetDataColumn());
case "InportExcel":
InportExcel();
#region 导出数据到Excel
void InportExcel()
string filename = Convert.ToString(Request["filename"]);
if (filename.Trim() == "")
filename = "数据下载";
string header = Convert.ToString(Request["header"]);
string dataIndex = Convert.ToString(Request["dataIndex"]);
if (header.Trim() == "" || dataIndex.Trim() == "")
string[] cName = header.Substring(0, header.LastIndexOf(",")).Split(',');
string[] eName = dataIndex.Substring(0, dataIndex.LastIndexOf(",")).Split(',');
GridView gridViewAll = new GridView();//用于从数据库中将所有相关数据导入Excel中
System.Web.HttpContext context = System.Web.HttpContext.C
DataSet ds = ExtBusiness.GetMoreRow();
if (ds != null && ds.Tables[0].Rows.Count & 0)
for (int i = 0; i & cName.L i++)
BoundField bf = new BoundField();
bf.DataField = Convert.ToString(eName[i]);
bf.HeaderText = Convert.ToString(cName[i]);
gridViewAll.Columns.Add(bf);
gridViewAll.RowDataBound += new GridViewRowEventHandler(gridViewAll_RowDataBound);
gridViewAll.AutoGenerateColumns = false;
gridViewAll.DataSource =
gridViewAll.DataBind();
if (gridViewAll.Rows.Count & 0)
Response.Write("&script&document.close();&/script&");
Response.Clear();
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "filename=/"" + context.Server.UrlEncode(String.Format("{0}.xls", filename)) + "/"");
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gridViewAll.RenderControl(htw);
StringWriter sw2 = new StringWriter();
gridViewAll.Dispose();
Response.Output.Write(sw.ToString());
Response.Output.Flush();
Response.End();
catch (Exception ee)
string error = ee.M
//处理:遇到比较长的数字字符串,比如身份证号码,就会在Excel里当成数字看待,并转换成科学计数法的格式,以免造成数据的丢失
protected void gridViewAll_RowDataBound(object sender, GridViewRowEventArgs e)
if (e.Row.RowType == DataControlRowType.DataRow)
for (int i = 0; i & e.Row.Cells.C i++)
e.Row.Cells[i].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
#endregion
//获取数据
string Select(string field, string asc_desc, int pagesize, int start)
string json = "";
DataSet ds = ExtUtil.PaginationByTableName(field, asc_desc, pagesize, start, "TypeTable");//获取集合
if (ds != null && ds.Tables[0].Rows.Count & 0)
json = ExtUtil.GetJsonString(ds);//获取Json字符串
int count = ExtUtil.GetCountByTableName("TypeTable");//获取行数
json = "{totalPorperty:" + count + ",root:" + json + "}";
catch (Exception ee)
string error = ee.M
//获取数据列
string GetDataColumn()
DataSet ds = ExtBusiness.GetMoreRow();//获取dataset集合
//只要ds不为null,则不管该表是否有数据,都有数据列生成
if (ds != null)
List&Hashtable& htList = new List&Hashtable&();
foreach (DataColumn col in ds.Tables[0].Columns)
Hashtable ht = new Hashtable();
ht.Add(col.ColumnName, col.ColumnName);
htList.Add(ht);
string json = JavaScriptConvert.SerializeObject(htList);//获取Json字符串
catch (Exception ee)
string error = ee.M
return "";
}}&业务组件层using System.Data.SqlC/// &summary&///业务层组件/// &/summary&public class ExtBusiness{
/// &summary&
/// 获取集合的操作
/// &/summary&
/// &returns&&/returns&
public static DataSet GetMoreRow()
string sql = "select * from TypeTable";
DataSet ds = new DataSet();
ds = ExtAccess.GetMoreRow(sql);
catch (Exception ee)
string error = ee.M
/// &summary&
/// 根据表名获取数据操作
/// &/summary&
/// &param name="tableName"&int&/param&
/// &returns&&/returns&
public static DataSet GetMoreRowByTableName(string tableName)
string sql = String.Format("select * from {0}", tableName);
DataSet ds = new DataSet();
ds = ExtAccess.GetMoreRow(sql);
catch (Exception ee)
string error = ee.M
/// &summary&
/// 根据Sql语句获取数据操作
/// &/summary&
/// &param name="sql"&int&/param&
/// &returns&&/returns&
public static DataSet GetMoreRowBySql(string cmdText)
string sql = String.Format("select * from ({0}) a ", cmdText);
DataSet ds = new DataSet();
ds = ExtAccess.GetMoreRow(sql);
catch (Exception ee)
string error = ee.M
/// &summary&
/// 获取图片类别的集合的操作
/// &/summary&
/// &param name="typeID"&int&/param&
/// &returns&&/returns&
public static DataSet GetMoreRow(string typeID)
string sql = "select * from TypeTable where PID = @TypeID";
SqlParameter[] prams =
new SqlParameter("@TypeID",typeID)
DataSet ds = new DataSet();
ds = ExtAccess.GetMoreRow(sql, prams);
catch (Exception ee)
string error = ee.M
/// &summary&
/// 获取图片类别的集合的操作
/// &/summary&
/// &param name="typeID"&int&/param&
/// &returns&&/returns&
public static DataSet GetAllRow(string typeID)
string sql = string.Format("select * from TypeTable where PID = '{0}'", typeID);
DataSet ds = new DataSet();
ds = ExtAccess.GetMoreRow(sql);
catch (Exception ee)
string error = ee.M
public static bool HasChildNode(string id)
string sql = "select ID from TypeTable where PID = @TypeID";
SqlParameter[] prams =
new SqlParameter("@TypeID",id)
bool flag = true;
int ID = Convert.ToInt32(ExtAccess.GetOneItem(sql, prams));
if (ID & 0)
flag = false;
catch (Exception ee)
string error = ee.M
}}&数据组件层using System.Data.SqlC/// &summary&/// 数据访问组件层/// &/summary&public class ExtAccess{
/// &summary&
/// 连接字符串
/// &/summary&
static string dataBaseString = ConfigurationManager.ConnectionStrings["SampleAccess"].ConnectionS
static string dd = dataBaseS
/// &summary&
/// 创建命令
/// &/summary&
/// &param name="conn"&&/param&
/// &param name="cmd"&&/param&
/// &param name="cmdText"&&/param&
/// &param name="prams"&&/param&
private static void CreateCommand(SqlConnection conn, SqlCommand cmd, string cmdText, params SqlParameter[] prams)
conn.ConnectionString = dataBaseS
if (conn.State == ConnectionState.Closed)
conn.Open();
cmd.Connection =
mandText = cmdT
if (cmdText.Contains(" "))
mandType = CommandType.T
mandType = CommandType.StoredP
if (prams != null)
foreach (SqlParameter p in prams)
cmd.Parameters.Add(p);
/// &summary&
/// 添加数据
/// &/summary&
/// &param name="cmdText"&&/param&
/// &returns&&/returns&
public static int Add(string cmdText)
return Add(cmdText, null);
public static int Add(string cmdText, params SqlParameter[] prams)
using (SqlConnection conn = new SqlConnection())
SqlCommand cmd = new SqlCommand();
CreateCommand(conn, cmd, cmdText, prams);
int o = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
/// &summary&
/// 修改数据
/// &/summary&
/// &param name="cmdText"&&/param&
/// &returns&&/returns&
public static int Edit(string cmdText)
return Edit(cmdText, null);
public static int Edit(string cmdText, params SqlParameter[] prams)
using (SqlConnection conn = new SqlConnection())
SqlCommand cmd = new SqlCommand();
CreateCommand(conn, cmd, cmdText, prams);
int o = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
/// &summary&
/// 删除一条数据
/// &/summary&
/// &param name="cmdText"&&/param&
/// &returns&&/returns&
public static int DeleteOneRow(string cmdText)
return DeleteOneRow(cmdText, null);
public static int DeleteOneRow(string cmdText, params SqlParameter[] prams)
using (SqlConnection conn = new SqlConnection())
SqlCommand cmd = new SqlCommand();
CreateCommand(conn, cmd, cmdText, prams);
int o = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
/// &summary&
/// 删除多条数据
/// &/summary&
/// &param name="cmdText"&&/param&
/// &returns&&/returns&
public static int DeleteMoreRow(string cmdText)
return DeleteMoreRow(cmdText, null);
public static int DeleteMoreRow(string cmdText, params SqlParameter[] prams)
using (SqlConnection conn = new SqlConnection())
SqlCommand cmd = new SqlCommand();
CreateCommand(conn, cmd, cmdText, prams);
int o = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
/// &summary&
/// 获取一行数据
/// &/summary&
/// &param name="cmdText"&&/param&
/// &returns&&/returns&
public static DataRow GetOneRow(string cmdText)
return GetOneRow(cmdText, null);
public static DataRow GetOneRow(string cmdText, params SqlParameter[] prams)
using (SqlConnection conn = new SqlConnection())
SqlCommand cmd = new SqlCommand();
CreateCommand(conn, cmd, cmdText, prams);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
cmd.Parameters.Clear();
DataRow row = new DataTable().NewRow();
if (ds != null && ds.Tables[0].Rows.Count & 0)
foreach (DataColumn col in ds.Tables[0].Columns)
row[col.ColumnName] = Convert.ToString(ds.Tables[0].Rows[0]["col.ColumnName"]);
/// &summary&
/// 获取多行数据
/// &/summary&
/// &param name="cmdText"&&/param&
/// &returns&&/returns&
public static DataSet GetMoreRow(string cmdText)
return GetMoreRow(cmdText, null);
public static DataSet GetMoreRow(string cmdText, params SqlParameter[] prams)
using (SqlConnection conn = new SqlConnection())
SqlCommand cmd = new SqlCommand();
CreateCommand(conn, cmd, cmdText, prams);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
cmd.Parameters.Clear();
/// &summary&
/// 得到一项数据
/// &/summary&
/// &param name="cmdText"&&/param&
/// &returns&&/returns&
public static object GetOneItem(string cmdText)
return GetOneItem(cmdText, null);
public static object GetOneItem(string cmdText, params SqlParameter[] prams)
using (SqlConnection conn = new SqlConnection())
SqlCommand cmd = new SqlCommand();
CreateCommand(conn, cmd, cmdText, prams);
object o = cmd.ExecuteScalar();
cmd.Parameters.Clear();
/// &summary&
/// 得到总数
/// &/summary&
/// &param name="cmdText"&&/param&
/// &returns&&/returns&
public static int GetCount(string cmdText)
return GetCount(cmdText, null);
public static int GetCount(string cmdText, params SqlParameter[] prams)
using (SqlConnection conn = new SqlConnection())
SqlCommand cmd = new SqlCommand();
CreateCommand(conn, cmd, cmdText, prams);
int value = 0;
object o = cmd.ExecuteScalar();
if (o == null)
value = 0;
value = Convert.ToInt32(o);
cmd.Parameters.Clear();
}}&公共组件层using Newtonsoft.Jusing System.Cusing System.Collections.G/// &summary&///ExtUtil 的摘要说明/// &/summary&public class ExtUtil{
/// &summary&
/// 获取JsonString
/// &/summary&
/// &param name="ds"&DataSet&/param&
/// &returns&&/returns&
public static string GetJsonString(DataSet ds)
string res = ""; ;
IList&Hashtable& mList = new List&Hashtable&();
foreach (DataRow row in ds.Tables[0].Rows)
Hashtable ht = new Hashtable();
foreach (DataColumn col in ds.Tables[0].Columns)
ht.Add(col.ColumnName, row[col.ColumnName]);
mList.Add(ht);
res = JavaScriptConvert.SerializeObject(mList);
catch (Exception ee)
string error = ee.M
/// &summary&
/// 根据SQL语句分页
/// &/summary&
/// &param name="field"&排序字段&/param&
/// &param name="asc_desc"&排序方向&/param&
/// &param name="pagesize"&页大小&/param&
/// &param name="start"&页索引&/param&
/// &param name="sqlText"&表名或者完整语句&/param&
/// &returns&&/returns&
public static DataSet PaginationBySQL(string field, string asc_desc, int pagesize, int start, string sqlText)
string sql = String.Format("WITH Data_DataSet AS ( " +
" SELECT ROW_NUMBER() OVER " +
" (ORDER BY " + field + "
" + asc_desc + " ) AS Row," +
FROM ( " + sqlText + " ) aa )" +
" SELECT * FROM Data_DataSet " +
" WHERE Row between ({0}-1)* {1}+1
and {0}*{1}", start, pagesize);
return ExtAccess.GetMoreRow(sql);
/// &summary&
/// 根据表名分页
/// &/summary&
/// &param name="field"&排序字段&/param&
/// &param name="asc_desc"&排序方向&/param&
/// &param name="pagesize"&页大小&/param&
/// &param name="start"&页索引&/param&
/// &param name="sqlText"&表名或者完整语句&/param&
/// &returns&&/returns&
public static DataSet PaginationByTableName(string field, string asc_desc, int pagesize, int start, string tableName)
string sql = String.Format("WITH MOVIES AS ( " +
" SELECT ROW_NUMBER() OVER " +
" (ORDER BY " + field + "
" + asc_desc + " ) AS Row," +
" FROM " + tableName + " )" +
" SELECT *" +
" FROM MOVIES " +
" WHERE Row between ({0}-1)* {1}+1
and {0}*{1}", start, pagesize);
return ExtAccess.GetMoreRow(sql);
/// &summary&
/// 根据表名获取总数
/// &/summary&
/// &param name="sql"&&/param&
/// &returns&&/returns&
public static int GetCountByTableName(string tableName)
return ExtAccess.GetCount(String.Format("select Count(*) from {0} ", tableName));
/// &summary&
/// 默认根据表名获取总数
/// &/summary&
/// &param name="sql"&&/param&
/// &returns&&/returns&
public static int GetCount(string tableName)
return ExtAccess.GetCount(String.Format("select Count(*) from {0} datatable", tableName));
/// &summary&
/// 根据Sql语句获取总数
/// &/summary&
/// &param name="sql"&&/param&
/// &returns&&/returns&
public static int GetCountBySql(string sql)
return ExtAccess.GetCount(sql);
/// &summary&
/// 根据Sql语句获取总数
/// &/summary&
/// &param name="sql"&&/param&
/// &returns&&/returns&
public static int GetCountNumberBySql(string tableName)
return ExtAccess.GetCount(String.Format("select Count(*) from ({0}) datatable", tableName));
发表评论:
TA的最新馆藏<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&继上第六节内容,我们在表单里加了个一个数字字段,隐藏字段,日期字段。如下代码所: 1.代码如下:&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&
&html xmlns="http://www.w3.org/1999/xhtml"&
&title&&/title&
&!--ExtJs框架开始--&
&script type="text/javascript" src="/Ext/adapter/ext/ext-base.js"&&/script&
&script type="text/javascript" src="/Ext/ext-all.js"&&/script&
&script src="/Ext/src/locale/ext-lang-zh_CN.js" type="text/javascript"&&/script&&!--中文翻译js--&
&link rel="stylesheet" type="text/css" href="/Ext/resources/css/ext-all.css" /&
&!--ExtJs框架结束--&
&style type="text/css"&
.x-form-unit
height: 22px;
line-height: 22px;
padding-left: 2px;
display: inline-block;
display: inline;
&script type="text/javascript"&
//----------------------重写文本框开始----------------------//
Ext.override(Ext.form.TextField, {
unitText: '',
onRender: function (ct, position) {
Ext.form.TextField.superclass.onRender.call(this, ct, position);
// 如果单位字符串已定义 则在后方增加单位对象
if (this.unitText != '') {
this.unitEl = ct.createChild({
tag: 'div',
html: this.unitText
this.unitEl.addClass('x-form-unit');
// 增加单位名称的同时 按单位名称大小减少文本框的长度 初步考虑了中英文混排 未考虑为负的情况
this.width = this.width - (this.unitText.replace(/[^\x00-\xff]/g, "xx").length * 6 + 2);
// 同时修改错误提示图标的位置
this.alignErrorIcon = function () {
this.errorIcon.alignTo(this.unitEl, 'tl-tr', [2, 0]);
//----------------------重写文本框结束----------------------//
Ext.onReady(function () {
//初始化标签中的Ext:Qtip属性。
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
//提交按钮处理方法
var btnsubmitclick = function () {
Ext.MessageBox.alert('提示', '你点了确定按钮!');
//重置按钮"点击时"处理方法
var btnresetclick = function () {
Ext.MessageBox.alert('提示', '你点了重置按钮!');
//重置按钮"鼠标悬停"处理方法
var btnresetmouseover = function () {
Ext.MessageBox.alert('提示', '你鼠标悬停在重置按钮之上!');
//提交按钮
var btnsubmit = new Ext.Button({
text: '提交',
handler: btnsubmitclick
//重置按钮
var btnreset = new Ext.Button({
text: '重置',
listeners: {
'mouseover': btnresetmouseover,
'click': btnresetclick
//用户名input
var txtusername = new Ext.form.TextField({
width: 140,
allowBlank: false,
maxLength: 20,
name: 'username',
fieldLabel: '用户名称',
blankText: '请输入用户名',
maxLengthText: '用户名不能超过20个字符'
//密码input
var txtpassword = new Ext.form.TextField({
width: 140,
allowBlank: false,
maxLength: 20,
inputType: 'password',
name: 'password',
fieldLabel: '密码',
blankText: '请输入密码',
maxLengthText: '密码不能超过20个字符'
//----------------------数字字段开始----------------------//
var numberfield = new Ext.form.NumberField({
fieldLabel: '身高',
width: 80,
decimalPrecision: 1,
minValue: 0.01,
maxValue: 200,
unitText: ' cm',
allowBlank: false,
blankText: '请输入身高'
//----------------------数字字段结束----------------------//
//----------------------隐藏域字段开始----------------------//
var hiddenfield = new Ext.form.Hidden({
name: 'userid',
value: '1'
//----------------------隐藏域字段结束----------------------//
//----------------------日期字段开始----------------------//
var datefield = new Ext.form.DateField({
fieldLabel: '出生日期',
format: 'Y-m-d',
editable: false,
allowBlank: false,
blankText: '请选择日期'
//----------------------日期字段结束----------------------//
var form = new Ext.form.FormPanel({
frame: true,
title: '表单标题',
style: 'margin:10px',
html: '&div style="padding:10px"&这里表单内容&/div&',
items: [txtusername, txtpassword, numberfield, hiddenfield, datefield],
buttons: [btnsubmit, btnreset]
var win = new Ext.Window({
title: '窗口',
width: 476,
height: 374,
html: '&div&这里是窗体内容&/div&',
resizable: true,
modal: true,
closable: true,
maximizable: true,
minimizable: true,
buttonAlign: 'center',
items: form
win.show();
(1)var numberfield = new Ext.form.NumberField():创建一个新的NumberField数字文本框对象。
(2)99行,decimalPrecision: 1:设置小数点后面的位数,当位数超过时系统会自动截断。
(3)100行,minValue: 0.01:设置数字文本框最小值。
(4)101行,maxValue: 200:设置最大值。
(5)102行,unitText: ' cm':注意,这个属性并非 Extjs文本框自带的属性,因为我们要在“身高”的后面加上
单位,所以在23行---43行对文本框进行了重写,重写时添加了属性"unitText",并且在样式表中加了样式"x-form-unit"。
(6)var hiddenfield = new Ext.form.Hidden():创建一个新的Hidden对象,隐藏字段用作参数占位符,
一般用来保存一些不希望用户直接看到的参数,并发送到服务器,例如:用户ID等。
(7)109行,name: 'userid':Hidden对象的名称,这个名称是在服务端接收值的名称。发送参数格式如下:userid:1。
(8)110行,value: '1':发送的值。
(9)var datefield = new Ext.form.DateField():创建一个新的Datefield日期对象,Extjs的日期为英文类型,
所以要加入翻译成中文的js,代码第8行位置。
(10)116行,format: 'Y-m-d':日期格式。
(11)117行,editable: false:设置为不可编辑。
&/html&复制代码
2.效果如下:
更多的ExtJS教程,点击进入&&《》,持续更新中……

我要回帖

更多关于 mywifiext.net 的文章

 

随机推荐