v4.2.0
This commit is contained in:
parent
5e56b6b67a
commit
8e116609c6
@ -18,35 +18,41 @@ namespace FineUI.Examples
|
|||||||
|
|
||||||
protected override void OnInit(EventArgs e)
|
protected override void OnInit(EventArgs e)
|
||||||
{
|
{
|
||||||
if (!IsPostBack)
|
var pm = PageManager.Instance;
|
||||||
|
|
||||||
|
// 如果不是FineUI的AJAX回发(两种情况:1.页面第一个加载 2.页面非AJAX回发)
|
||||||
|
if (pm != null && !pm.IsFineUIAjaxPostBack)
|
||||||
{
|
{
|
||||||
if (PageManager.Instance != null)
|
HttpCookie themeCookie = Request.Cookies["Theme_v4"];
|
||||||
|
if (themeCookie != null)
|
||||||
{
|
{
|
||||||
HttpCookie themeCookie = Request.Cookies["Theme"];
|
try
|
||||||
if (themeCookie != null)
|
|
||||||
{
|
{
|
||||||
string themeValue = themeCookie.Value;
|
string themeValue = themeCookie.Value;
|
||||||
PageManager.Instance.Theme = (Theme)Enum.Parse(typeof(Theme), themeValue, true);
|
pm.Theme = (Theme)Enum.Parse(typeof(Theme), themeValue, true);
|
||||||
|
|
||||||
//if (IsSystemTheme(themeValue))
|
|
||||||
//{
|
|
||||||
// PageManager.Instance.Theme = (Theme)Enum.Parse(typeof(Theme), themeValue, true);
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// PageManager.Instance.CustomTheme = themeValue;
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
pm.Theme = FineUI.Theme.Neptune;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
HttpCookie langCookie = Request.Cookies["Language"];
|
HttpCookie langCookie = Request.Cookies["Language_v4"];
|
||||||
if (langCookie != null)
|
if (langCookie != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
string langValue = langCookie.Value;
|
string langValue = langCookie.Value;
|
||||||
PageManager.Instance.Language = (Language)Enum.Parse(typeof(Language), langValue, true);
|
pm.Language = (Language)Enum.Parse(typeof(Language), langValue, true);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
pm.Language = Language.ZH_CN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
base.OnInit(e);
|
base.OnInit(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,20 +109,31 @@ namespace FineUI.Examples
|
|||||||
#region 表格相关
|
#region 表格相关
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 选中的行
|
/// 选中了哪些行
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="grid"></param>
|
/// <param name="grid">表格对象</param>
|
||||||
/// <returns></returns>
|
/// <returns>选中行的描述信息</returns>
|
||||||
protected string HowManyRowsAreSelected(Grid grid)
|
protected string HowManyRowsAreSelected(Grid grid)
|
||||||
|
{
|
||||||
|
return HowManyRowsAreSelected(grid, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 选中了哪些行
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="grid">表格对象</param>
|
||||||
|
/// <param name="rowNumberInDataSource">在表格数据源中计算序号(而不是在当前分页内计算序号)</param>
|
||||||
|
/// <returns>选中行的描述信息</returns>
|
||||||
|
protected string HowManyRowsAreSelected(Grid grid, bool rowNumberInDataSource)
|
||||||
{
|
{
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
int selectedCount = grid.SelectedRowIndexArray.Length;
|
int selectedCount = grid.SelectedRowIndexArray.Length;
|
||||||
if (selectedCount > 0)
|
if (selectedCount > 0)
|
||||||
{
|
{
|
||||||
sb.AppendFormat("共选中了 {0} 行:", selectedCount);
|
sb.AppendFormat("<p><strong>共选中了 {0} 行:</strong></p>", selectedCount);
|
||||||
sb.Append("<table class=\"result\">");
|
sb.Append("<table class=\"result\">");
|
||||||
|
|
||||||
sb.Append("<tr><th>行号</th>");
|
sb.Append("<tr><th>序号</th>");
|
||||||
foreach (string datakey in grid.DataKeyNames)
|
foreach (string datakey in grid.DataKeyNames)
|
||||||
{
|
{
|
||||||
sb.AppendFormat("<th>{0}</th>", datakey);
|
sb.AppendFormat("<th>{0}</th>", datakey);
|
||||||
@ -129,7 +146,13 @@ namespace FineUI.Examples
|
|||||||
int rowIndex = grid.SelectedRowIndexArray[i];
|
int rowIndex = grid.SelectedRowIndexArray[i];
|
||||||
sb.Append("<tr>");
|
sb.Append("<tr>");
|
||||||
|
|
||||||
sb.AppendFormat("<td>{0}</td>", rowIndex + 1);
|
int rownumber = rowIndex + 1;
|
||||||
|
if (rowNumberInDataSource && grid.AllowPaging)
|
||||||
|
{
|
||||||
|
rownumber += grid.PageIndex * grid.PageSize;
|
||||||
|
}
|
||||||
|
sb.AppendFormat("<td>{0}</td>", rownumber);
|
||||||
|
|
||||||
|
|
||||||
// 如果是内存分页,所有分页的数据都存在,rowIndex 就是在全部数据中的顺序,而不是当前页的顺序
|
// 如果是内存分页,所有分页的数据都存在,rowIndex 就是在全部数据中的顺序,而不是当前页的顺序
|
||||||
if (grid.AllowPaging && !grid.IsDatabasePaging)
|
if (grid.AllowPaging && !grid.IsDatabasePaging)
|
||||||
@ -177,7 +200,7 @@ namespace FineUI.Examples
|
|||||||
DataTable table = new DataTable();
|
DataTable table = new DataTable();
|
||||||
table.Columns.Add(new DataColumn("Id", typeof(int)));
|
table.Columns.Add(new DataColumn("Id", typeof(int)));
|
||||||
table.Columns.Add(new DataColumn("Name", typeof(String)));
|
table.Columns.Add(new DataColumn("Name", typeof(String)));
|
||||||
table.Columns.Add(new DataColumn("EntranceYear", typeof(String)));
|
table.Columns.Add(new DataColumn("EntranceYear", typeof(int)));
|
||||||
table.Columns.Add(new DataColumn("LogTime", typeof(DateTime)));
|
table.Columns.Add(new DataColumn("LogTime", typeof(DateTime)));
|
||||||
table.Columns.Add(new DataColumn("Desc", typeof(string)));
|
table.Columns.Add(new DataColumn("Desc", typeof(string)));
|
||||||
|
|
||||||
@ -185,7 +208,7 @@ namespace FineUI.Examples
|
|||||||
|
|
||||||
row[0] = 101;
|
row[0] = 101;
|
||||||
row[1] = "班级一";
|
row[1] = "班级一";
|
||||||
row[2] = "2000";
|
row[2] = 2000;
|
||||||
row[3] = DateTime.Parse("2000-09-01");
|
row[3] = DateTime.Parse("2000-09-01");
|
||||||
row[4] = "班级一创建于2000年9月1号,班长胡飞,连续三年获得全校优秀班级称号。";
|
row[4] = "班级一创建于2000年9月1号,班长胡飞,连续三年获得全校优秀班级称号。";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
@ -193,7 +216,7 @@ namespace FineUI.Examples
|
|||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 102;
|
row[0] = 102;
|
||||||
row[1] = "班级二";
|
row[1] = "班级二";
|
||||||
row[2] = "2005";
|
row[2] = 2005;
|
||||||
row[3] = DateTime.Parse("2005-09-01");
|
row[3] = DateTime.Parse("2005-09-01");
|
||||||
row[4] = "班级一创建于2005年9月1号,班长董婷婷,连续两年获得全校优秀班级称号。";
|
row[4] = "班级一创建于2005年9月1号,班长董婷婷,连续两年获得全校优秀班级称号。";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
@ -211,7 +234,7 @@ namespace FineUI.Examples
|
|||||||
DataTable table = new DataTable();
|
DataTable table = new DataTable();
|
||||||
table.Columns.Add(new DataColumn("Id", typeof(int)));
|
table.Columns.Add(new DataColumn("Id", typeof(int)));
|
||||||
table.Columns.Add(new DataColumn("Name", typeof(String)));
|
table.Columns.Add(new DataColumn("Name", typeof(String)));
|
||||||
table.Columns.Add(new DataColumn("EntranceYear", typeof(String)));
|
table.Columns.Add(new DataColumn("EntranceYear", typeof(int)));
|
||||||
table.Columns.Add(new DataColumn("AtSchool", typeof(bool)));
|
table.Columns.Add(new DataColumn("AtSchool", typeof(bool)));
|
||||||
table.Columns.Add(new DataColumn("Major", typeof(String)));
|
table.Columns.Add(new DataColumn("Major", typeof(String)));
|
||||||
table.Columns.Add(new DataColumn("Group", typeof(int)));
|
table.Columns.Add(new DataColumn("Group", typeof(int)));
|
||||||
@ -226,12 +249,18 @@ namespace FineUI.Examples
|
|||||||
// Hobby:reading,basketball,travel,movie,music
|
// Hobby:reading,basketball,travel,movie,music
|
||||||
// 爱好:读书, 篮球, 旅游, 电影, 音乐
|
// 爱好:读书, 篮球, 旅游, 电影, 音乐
|
||||||
|
|
||||||
|
// 考试成绩
|
||||||
|
table.Columns.Add(new DataColumn("ChineseScore", typeof(Int32)));
|
||||||
|
table.Columns.Add(new DataColumn("MathScore", typeof(Int32)));
|
||||||
|
table.Columns.Add(new DataColumn("TotalScore", typeof(Int32)));
|
||||||
|
|
||||||
|
|
||||||
DataRow row = null;
|
DataRow row = null;
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 101;
|
row[0] = 101;
|
||||||
row[1] = "陈萍萍";
|
row[1] = "陈萍萍";
|
||||||
row[2] = "2000";
|
row[2] = 2000;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "计算机应用技术";
|
row[4] = "计算机应用技术";
|
||||||
row[5] = 1;
|
row[5] = 1;
|
||||||
@ -243,12 +272,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2000-09-01";
|
row[11] = "2000-09-01";
|
||||||
row[12] = 299;
|
row[12] = 299;
|
||||||
row[13] = 2990;
|
row[13] = 2990;
|
||||||
|
row[14] = 80;
|
||||||
|
row[15] = 80;
|
||||||
|
row[16] = 160;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 102;
|
row[0] = 102;
|
||||||
row[1] = "胡飞";
|
row[1] = "胡飞";
|
||||||
row[2] = "2008";
|
row[2] = 2008;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "信息工程";
|
row[4] = "信息工程";
|
||||||
row[5] = 1;
|
row[5] = 1;
|
||||||
@ -260,12 +292,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2008-09-01";
|
row[11] = "2008-09-01";
|
||||||
row[12] = 199;
|
row[12] = 199;
|
||||||
row[13] = 1990;
|
row[13] = 1990;
|
||||||
|
row[14] = 90;
|
||||||
|
row[15] = 80;
|
||||||
|
row[16] = 170;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 103;
|
row[0] = 103;
|
||||||
row[1] = "金婷婷";
|
row[1] = "金婷婷";
|
||||||
row[2] = "2001";
|
row[2] = 2001;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "会计学";
|
row[4] = "会计学";
|
||||||
row[5] = 2;
|
row[5] = 2;
|
||||||
@ -277,13 +312,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2001-09-01";
|
row[11] = "2001-09-01";
|
||||||
row[12] = 299;
|
row[12] = 299;
|
||||||
row[13] = 3990;
|
row[13] = 3990;
|
||||||
|
row[14] = 85;
|
||||||
|
row[15] = 85;
|
||||||
|
row[16] = 170;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 104;
|
row[0] = 104;
|
||||||
row[1] = "潘国";
|
row[1] = "潘国";
|
||||||
row[2] = "2008";
|
row[2] = 2008;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "国际经济与贸易";
|
row[4] = "国际经济与贸易";
|
||||||
row[5] = 2;
|
row[5] = 2;
|
||||||
@ -295,13 +333,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2008-09-01";
|
row[11] = "2008-09-01";
|
||||||
row[12] = 399;
|
row[12] = 399;
|
||||||
row[13] = 3998;
|
row[13] = 3998;
|
||||||
|
row[14] = 89;
|
||||||
|
row[15] = 80;
|
||||||
|
row[16] = 169;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 105;
|
row[0] = 105;
|
||||||
row[1] = "吴颖颖";
|
row[1] = "吴颖颖";
|
||||||
row[2] = "2002";
|
row[2] = 2002;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "市场营销";
|
row[4] = "市场营销";
|
||||||
row[5] = 3;
|
row[5] = 3;
|
||||||
@ -313,13 +354,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2002-09-01";
|
row[11] = "2002-09-01";
|
||||||
row[12] = 499;
|
row[12] = 499;
|
||||||
row[13] = 4992;
|
row[13] = 4992;
|
||||||
|
row[14] = 92;
|
||||||
|
row[15] = 85;
|
||||||
|
row[16] = 177;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 106;
|
row[0] = 106;
|
||||||
row[1] = "张博";
|
row[1] = "张博";
|
||||||
row[2] = "2003";
|
row[2] = 2003;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "财务管理";
|
row[4] = "财务管理";
|
||||||
row[5] = 3;
|
row[5] = 3;
|
||||||
@ -331,13 +375,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2003-09-01";
|
row[11] = "2003-09-01";
|
||||||
row[12] = 99;
|
row[12] = 99;
|
||||||
row[13] = 997;
|
row[13] = 997;
|
||||||
|
row[14] = 88;
|
||||||
|
row[15] = 86;
|
||||||
|
row[16] = 174;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 107;
|
row[0] = 107;
|
||||||
row[1] = "杨倩倩";
|
row[1] = "杨倩倩";
|
||||||
row[2] = "2000";
|
row[2] = 2000;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "材料物理与化学";
|
row[4] = "材料物理与化学";
|
||||||
row[5] = 4;
|
row[5] = 4;
|
||||||
@ -349,13 +396,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2000-09-01";
|
row[11] = "2000-09-01";
|
||||||
row[12] = 399;
|
row[12] = 399;
|
||||||
row[13] = 3995;
|
row[13] = 3995;
|
||||||
|
row[14] = 95;
|
||||||
|
row[15] = 82;
|
||||||
|
row[16] = 177;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 108;
|
row[0] = 108;
|
||||||
row[1] = "董超";
|
row[1] = "董超";
|
||||||
row[2] = "2004";
|
row[2] = 2004;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "生物医学工程";
|
row[4] = "生物医学工程";
|
||||||
row[5] = 4;
|
row[5] = 4;
|
||||||
@ -367,13 +417,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2004-09-01";
|
row[11] = "2004-09-01";
|
||||||
row[12] = 299;
|
row[12] = 299;
|
||||||
row[13] = 2996;
|
row[13] = 2996;
|
||||||
|
row[14] = 86;
|
||||||
|
row[15] = 98;
|
||||||
|
row[16] = 184;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 109;
|
row[0] = 109;
|
||||||
row[1] = "张娟娟";
|
row[1] = "张娟娟";
|
||||||
row[2] = "2003";
|
row[2] = 2003;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "土木工程";
|
row[4] = "土木工程";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
@ -385,12 +438,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2003-09-01";
|
row[11] = "2003-09-01";
|
||||||
row[12] = 599;
|
row[12] = 599;
|
||||||
row[13] = 5990;
|
row[13] = 5990;
|
||||||
|
row[14] = 92;
|
||||||
|
row[15] = 96;
|
||||||
|
row[16] = 198;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 110;
|
row[0] = 110;
|
||||||
row[1] = "叶鹏";
|
row[1] = "叶鹏";
|
||||||
row[2] = "2006";
|
row[2] = 2006;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "电子商务";
|
row[4] = "电子商务";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
@ -402,12 +458,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2006-09-01";
|
row[11] = "2006-09-01";
|
||||||
row[12] = 699;
|
row[12] = 699;
|
||||||
row[13] = 6990;
|
row[13] = 6990;
|
||||||
|
row[14] = 69;
|
||||||
|
row[15] = 99;
|
||||||
|
row[16] = 168;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 111;
|
row[0] = 111;
|
||||||
row[1] = "李玲玲";
|
row[1] = "李玲玲";
|
||||||
row[2] = "2002";
|
row[2] = 2002;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "管理学";
|
row[4] = "管理学";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
@ -419,12 +478,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2002-09-01";
|
row[11] = "2002-09-01";
|
||||||
row[12] = 399;
|
row[12] = 399;
|
||||||
row[13] = 3990;
|
row[13] = 3990;
|
||||||
|
row[14] = 88;
|
||||||
|
row[15] = 92;
|
||||||
|
row[16] = 180;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 112;
|
row[0] = 112;
|
||||||
row[1] = "张萍萍";
|
row[1] = "张萍萍";
|
||||||
row[2] = "2000";
|
row[2] = 2000;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "计算机应用技术";
|
row[4] = "计算机应用技术";
|
||||||
row[5] = 1;
|
row[5] = 1;
|
||||||
@ -436,12 +498,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2000-09-01";
|
row[11] = "2000-09-01";
|
||||||
row[12] = 299;
|
row[12] = 299;
|
||||||
row[13] = 2999;
|
row[13] = 2999;
|
||||||
|
row[14] = 82;
|
||||||
|
row[15] = 88;
|
||||||
|
row[16] = 170;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 113;
|
row[0] = 113;
|
||||||
row[1] = "曹飞";
|
row[1] = "曹飞";
|
||||||
row[2] = "2008";
|
row[2] = 2008;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "信息工程";
|
row[4] = "信息工程";
|
||||||
row[5] = 1;
|
row[5] = 1;
|
||||||
@ -453,12 +518,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2008-09-01";
|
row[11] = "2008-09-01";
|
||||||
row[12] = 399;
|
row[12] = 399;
|
||||||
row[13] = 3996;
|
row[13] = 3996;
|
||||||
|
row[14] = 96;
|
||||||
|
row[15] = 85;
|
||||||
|
row[16] = 181;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 114;
|
row[0] = 114;
|
||||||
row[1] = "孙婷婷";
|
row[1] = "孙婷婷";
|
||||||
row[2] = "2001";
|
row[2] = 2001;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "会计学";
|
row[4] = "会计学";
|
||||||
row[5] = 2;
|
row[5] = 2;
|
||||||
@ -470,13 +538,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2001-09-01";
|
row[11] = "2001-09-01";
|
||||||
row[12] = 499;
|
row[12] = 499;
|
||||||
row[13] = 4990;
|
row[13] = 4990;
|
||||||
|
row[14] = 80;
|
||||||
|
row[15] = 90;
|
||||||
|
row[16] = 170;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 115;
|
row[0] = 115;
|
||||||
row[1] = "董国";
|
row[1] = "董国";
|
||||||
row[2] = "2008";
|
row[2] = 2008;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "国际经济与贸易";
|
row[4] = "国际经济与贸易";
|
||||||
row[5] = 2;
|
row[5] = 2;
|
||||||
@ -488,13 +559,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2008-09-01";
|
row[11] = "2008-09-01";
|
||||||
row[12] = 299;
|
row[12] = 299;
|
||||||
row[13] = 2992;
|
row[13] = 2992;
|
||||||
|
row[14] = 90;
|
||||||
|
row[15] = 95;
|
||||||
|
row[16] = 185;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 116;
|
row[0] = 116;
|
||||||
row[1] = "习颖颖";
|
row[1] = "习颖颖";
|
||||||
row[2] = "2002";
|
row[2] = 2002;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "市场营销";
|
row[4] = "市场营销";
|
||||||
row[5] = 3;
|
row[5] = 3;
|
||||||
@ -506,13 +580,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2002-09-01";
|
row[11] = "2002-09-01";
|
||||||
row[12] = 199;
|
row[12] = 199;
|
||||||
row[13] = 1990;
|
row[13] = 1990;
|
||||||
|
row[14] = 86;
|
||||||
|
row[15] = 90;
|
||||||
|
row[16] = 176;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 117;
|
row[0] = 117;
|
||||||
row[1] = "李博";
|
row[1] = "李博";
|
||||||
row[2] = "2003";
|
row[2] = 2003;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "财务管理";
|
row[4] = "财务管理";
|
||||||
row[5] = 3;
|
row[5] = 3;
|
||||||
@ -524,31 +601,37 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2003-09-01";
|
row[11] = "2003-09-01";
|
||||||
row[12] = 99;
|
row[12] = 99;
|
||||||
row[13] = 990;
|
row[13] = 990;
|
||||||
|
row[14] = 80;
|
||||||
|
row[15] = 95;
|
||||||
|
row[16] = 175;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 118;
|
row[0] = 118;
|
||||||
row[1] = "黄倩倩";
|
row[1] = "黄婷婷";
|
||||||
row[2] = "2000";
|
row[2] = 2000;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "材料物理与化学";
|
row[4] = "材料物理与化学";
|
||||||
row[5] = 4;
|
row[5] = 4;
|
||||||
row[6] = 0;
|
row[6] = 0;
|
||||||
row[7] = DateTime.Now.AddDays(-40);
|
row[7] = DateTime.Now.AddDays(-40);
|
||||||
row[8] = "黄倩倩,女,25岁,出生于中国北方的一个小山村,毕业于北京科学技术大学。";
|
row[8] = "黄婷婷,女,25岁,出生于中国北方的一个小山村,毕业于北京科学技术大学。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "travel,movie,music";
|
row[10] = "travel,movie,music";
|
||||||
row[11] = "2000-09-01";
|
row[11] = "2000-09-01";
|
||||||
row[12] = 399;
|
row[12] = 399;
|
||||||
row[13] = 3990;
|
row[13] = 3990;
|
||||||
|
row[14] = 95;
|
||||||
|
row[15] = 88;
|
||||||
|
row[16] = 183;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 119;
|
row[0] = 119;
|
||||||
row[1] = "韩超";
|
row[1] = "韩超";
|
||||||
row[2] = "2004";
|
row[2] = 2004;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "生物医学工程";
|
row[4] = "生物医学工程";
|
||||||
row[5] = 4;
|
row[5] = 4;
|
||||||
@ -560,13 +643,16 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2004-09-01";
|
row[11] = "2004-09-01";
|
||||||
row[12] = 399;
|
row[12] = 399;
|
||||||
row[13] = 3991;
|
row[13] = 3991;
|
||||||
|
row[14] = 88;
|
||||||
|
row[15] = 86;
|
||||||
|
row[16] = 174;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 120;
|
row[0] = 120;
|
||||||
row[1] = "王娟娟";
|
row[1] = "王娟娟";
|
||||||
row[2] = "2003";
|
row[2] = 2003;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "土木工程";
|
row[4] = "土木工程";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
@ -578,12 +664,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2003-09-01";
|
row[11] = "2003-09-01";
|
||||||
row[12] = 399;
|
row[12] = 399;
|
||||||
row[13] = 3992;
|
row[13] = 3992;
|
||||||
|
row[14] = 90;
|
||||||
|
row[15] = 88;
|
||||||
|
row[16] = 178;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 121;
|
row[0] = 121;
|
||||||
row[1] = "周鹏";
|
row[1] = "周鹏";
|
||||||
row[2] = "2006";
|
row[2] = 2006;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "电子商务";
|
row[4] = "电子商务";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
@ -595,12 +684,15 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2006-09-01";
|
row[11] = "2006-09-01";
|
||||||
row[12] = 299;
|
row[12] = 299;
|
||||||
row[13] = 2992;
|
row[13] = 2992;
|
||||||
|
row[14] = 92;
|
||||||
|
row[15] = 96;
|
||||||
|
row[16] = 186;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 122;
|
row[0] = 122;
|
||||||
row[1] = "吴玲玲";
|
row[1] = "吴玲玲";
|
||||||
row[2] = "2002";
|
row[2] = 2002;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "管理学";
|
row[4] = "管理学";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
@ -612,6 +704,9 @@ namespace FineUI.Examples
|
|||||||
row[11] = "2002-09-01";
|
row[11] = "2002-09-01";
|
||||||
row[12] = 399;
|
row[12] = 399;
|
||||||
row[13] = 3993;
|
row[13] = 3993;
|
||||||
|
row[14] = 95;
|
||||||
|
row[15] = 89;
|
||||||
|
row[16] = 184;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
@ -627,7 +722,7 @@ namespace FineUI.Examples
|
|||||||
DataTable table = new DataTable();
|
DataTable table = new DataTable();
|
||||||
table.Columns.Add(new DataColumn("Id", typeof(int)));
|
table.Columns.Add(new DataColumn("Id", typeof(int)));
|
||||||
table.Columns.Add(new DataColumn("Name", typeof(String)));
|
table.Columns.Add(new DataColumn("Name", typeof(String)));
|
||||||
table.Columns.Add(new DataColumn("EntranceYear", typeof(String)));
|
table.Columns.Add(new DataColumn("EntranceYear", typeof(int)));
|
||||||
table.Columns.Add(new DataColumn("AtSchool", typeof(bool)));
|
table.Columns.Add(new DataColumn("AtSchool", typeof(bool)));
|
||||||
table.Columns.Add(new DataColumn("Major", typeof(String)));
|
table.Columns.Add(new DataColumn("Major", typeof(String)));
|
||||||
table.Columns.Add(new DataColumn("Group", typeof(int)));
|
table.Columns.Add(new DataColumn("Group", typeof(int)));
|
||||||
@ -635,93 +730,145 @@ namespace FineUI.Examples
|
|||||||
table.Columns.Add(new DataColumn("LogTime", typeof(DateTime)));
|
table.Columns.Add(new DataColumn("LogTime", typeof(DateTime)));
|
||||||
table.Columns.Add(new DataColumn("Desc", typeof(string)));
|
table.Columns.Add(new DataColumn("Desc", typeof(string)));
|
||||||
table.Columns.Add(new DataColumn("Guid", typeof(Guid)));
|
table.Columns.Add(new DataColumn("Guid", typeof(Guid)));
|
||||||
table.Columns.Add(new DataColumn("Hobby", typeof(String)));
|
|
||||||
table.Columns.Add(new DataColumn("EntranceDate", typeof(String)));
|
|
||||||
// Hobby:reading,basketball,travel,movie,music
|
// Hobby:reading,basketball,travel,movie,music
|
||||||
// 爱好:读书, 篮球, 旅游, 电影, 音乐
|
// 爱好:读书, 篮球, 旅游, 电影, 音乐
|
||||||
|
table.Columns.Add(new DataColumn("Hobby", typeof(String)));
|
||||||
|
table.Columns.Add(new DataColumn("EntranceDate", typeof(String)));
|
||||||
|
|
||||||
|
// 考试成绩
|
||||||
table.Columns.Add(new DataColumn("ChineseScore", typeof(Int32)));
|
table.Columns.Add(new DataColumn("ChineseScore", typeof(Int32)));
|
||||||
table.Columns.Add(new DataColumn("MathScore", typeof(Int32)));
|
table.Columns.Add(new DataColumn("MathScore", typeof(Int32)));
|
||||||
table.Columns.Add(new DataColumn("TotalScore", typeof(Int32)));
|
table.Columns.Add(new DataColumn("TotalScore", typeof(Int32)));
|
||||||
|
|
||||||
|
// 体检结果
|
||||||
|
table.Columns.Add(new DataColumn("ShenGao", typeof(Int32)));
|
||||||
|
table.Columns.Add(new DataColumn("TiZhong", typeof(Int32)));
|
||||||
|
table.Columns.Add(new DataColumn("XueYaDi", typeof(String)));
|
||||||
|
table.Columns.Add(new DataColumn("XueYaGao", typeof(String)));
|
||||||
|
table.Columns.Add(new DataColumn("ShiLiZuo", typeof(Single)));
|
||||||
|
table.Columns.Add(new DataColumn("ShiLiYou", typeof(Single)));
|
||||||
|
table.Columns.Add(new DataColumn("ShiLiZuoJiaoZhen", typeof(Single)));
|
||||||
|
table.Columns.Add(new DataColumn("ShiLiYouJiaoZhen", typeof(Single)));
|
||||||
|
|
||||||
|
// 合并单元格需要的字段
|
||||||
|
table.Columns.Add(new DataColumn("GroupB", typeof(int)));
|
||||||
|
|
||||||
|
|
||||||
DataRow row = table.NewRow();
|
DataRow row = table.NewRow();
|
||||||
row[0] = 101;
|
row[0] = 101;
|
||||||
row[1] = "张萍萍";
|
row[1] = "张萍萍";
|
||||||
row[2] = "2000";
|
row[2] = 2000;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "材料科学与工程系";
|
row[4] = "材料科学与工程系";
|
||||||
row[5] = 1;
|
row[5] = 1;
|
||||||
row[6] = 0;
|
row[6] = 0;
|
||||||
row[7] = DateTime.Now.AddDays(-100);
|
row[7] = DateTime.Now.AddDays(-100); // DBNull.Value;
|
||||||
row[8] = "张萍萍,女,20岁,出生于中国南方的一个小山村,毕业于中国科学技术大学。";
|
row[8] = "张萍萍,女,20岁,出生于中国南方的一个小山村,毕业于中国科学技术大学。<br/>毕业后就职于某大型国有企业,任部门经理,连续三年获得企业优秀员工称号。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "reading,travel,music";
|
row[10] = "reading,travel,music";
|
||||||
row[11] = "2000-09-01";
|
row[11] = "2000-09-01";
|
||||||
row[12] = 0;
|
row[12] = 80;
|
||||||
row[13] = 0;
|
row[13] = 90;
|
||||||
row[14] = 0;
|
row[14] = 170;
|
||||||
|
row[15] = 180;
|
||||||
|
row[16] = 150;
|
||||||
|
row[17] = 80;
|
||||||
|
row[18] = 120;
|
||||||
|
row[19] = 0.2;
|
||||||
|
row[20] = 0.5;
|
||||||
|
row[21] = 1.0;
|
||||||
|
row[22] = 1.2;
|
||||||
|
row[23] = 1;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 102;
|
row[0] = 102;
|
||||||
row[1] = "陈飞";
|
row[1] = "陈飞";
|
||||||
row[2] = "2001";
|
row[2] = 2000;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "化学系";
|
row[4] = "化学系";
|
||||||
row[5] = 1;
|
row[5] = 1;
|
||||||
row[6] = 1;
|
row[6] = 1;
|
||||||
row[7] = DateTime.Now.AddDays(-90);
|
row[7] = DateTime.Now.AddDays(-100);
|
||||||
row[8] = "陈飞,男,20岁,出生于中国北方的一个小山村,毕业于南方科学技术大学。";
|
row[8] = "陈飞,男,20岁,出生于中国北方的一个小山村,毕业于南方科学技术大学。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "basketball,travel,movie,reading,music";
|
row[10] = "basketball,travel,movie,reading,music";
|
||||||
row[11] = "2001-09-01";
|
row[11] = "2001-09-01";
|
||||||
row[12] = 0;
|
row[12] = 85;
|
||||||
row[13] = 0;
|
row[13] = 90;
|
||||||
row[14] = 0;
|
row[14] = 175;
|
||||||
|
row[15] = 160;
|
||||||
|
row[16] = 120;
|
||||||
|
row[17] = 70;
|
||||||
|
row[18] = 110;
|
||||||
|
row[19] = 0.3;
|
||||||
|
row[20] = 0.3;
|
||||||
|
row[21] = 1.2;
|
||||||
|
row[22] = 1.2;
|
||||||
|
row[23] = 1;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 103;
|
row[0] = 103;
|
||||||
row[1] = "董婷婷";
|
row[1] = "董婷婷";
|
||||||
row[2] = "2008";
|
row[2] = 2000;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "化学系";
|
row[4] = "化学系";
|
||||||
row[5] = 2;
|
row[5] = 2;
|
||||||
row[6] = 0;
|
row[6] = 0;
|
||||||
row[7] = DateTime.Now.AddDays(-80);
|
row[7] = DateTime.Now.AddDays(-100);
|
||||||
row[8] = "董婷婷,女,28岁,出生于中国海南岛的一个小山村,毕业于中国科学技术大学。";
|
row[8] = "董婷婷,女,18岁,出生于中国海南岛的一个小山村,毕业于中国科学技术大学。<br/>董婷婷是在学校认识丈夫刘国的,有一天晚上下自习后,董婷婷发短信给刘国说“做我男朋友吧!”,然后他们就走到了一起。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "basketball,movie,music";
|
row[10] = "basketball,movie,music";
|
||||||
row[11] = "2008-09-01";
|
row[11] = "2008-09-01";
|
||||||
row[12] = 0;
|
row[12] = 90;
|
||||||
row[13] = 0;
|
row[13] = 90;
|
||||||
row[14] = 0;
|
row[14] = 180;
|
||||||
|
row[15] = 190;
|
||||||
|
row[16] = 130;
|
||||||
|
row[17] = 82;
|
||||||
|
row[18] = 125;
|
||||||
|
row[19] = 0.8;
|
||||||
|
row[20] = 0.6;
|
||||||
|
row[21] = 1.2;
|
||||||
|
row[22] = 1.0;
|
||||||
|
row[23] = 2;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 104;
|
row[0] = 104;
|
||||||
row[1] = "刘国";
|
row[1] = "刘国";
|
||||||
row[2] = "2002";
|
row[2] = 2002;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "化学系";
|
row[4] = "化学系";
|
||||||
row[5] = 2;
|
row[5] = 2;
|
||||||
row[6] = 1;
|
row[6] = 1;
|
||||||
row[7] = DateTime.Now.AddDays(-70);
|
row[7] = DateTime.Now.AddDays(-100);
|
||||||
row[8] = "刘国,男,22岁,出生于中国澳门的一个小山村,毕业于中国科学技术大学。";
|
row[8] = "刘国,男,22岁,出生于中国澳门的一个小山村,毕业于中国科学技术大学。<br/>刘国是作为交换生来中科大学习,在校期间认识了妻子董婷婷,虽然是被追到手了,不过在人前却总是说“老婆是我千辛万苦追来的!”。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "reading,basketball,movie";
|
row[10] = "reading,basketball,movie";
|
||||||
row[11] = "2002-09-01";
|
row[11] = "2002-09-01";
|
||||||
row[12] = 0;
|
row[12] = 95;
|
||||||
row[13] = 0;
|
row[13] = 95;
|
||||||
row[14] = 0;
|
row[14] = 190;
|
||||||
|
row[15] = 170;
|
||||||
|
row[16] = 130;
|
||||||
|
row[17] = 76;
|
||||||
|
row[18] = 112;
|
||||||
|
row[19] = 1.0;
|
||||||
|
row[20] = 1.0;
|
||||||
|
row[21] = 1.0;
|
||||||
|
row[22] = 1.0;
|
||||||
|
row[23] = 2;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 105;
|
row[0] = 105;
|
||||||
row[1] = "康颖颖";
|
row[1] = "康颖颖";
|
||||||
row[2] = "2008";
|
row[2] = 2008;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "数学系";
|
row[4] = "数学系";
|
||||||
row[5] = 3;
|
row[5] = 3;
|
||||||
@ -731,17 +878,26 @@ namespace FineUI.Examples
|
|||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "reading,travel,movie,music";
|
row[10] = "reading,travel,movie,music";
|
||||||
row[11] = "2008-09-01";
|
row[11] = "2008-09-01";
|
||||||
row[12] = 0;
|
row[12] = 85;
|
||||||
row[13] = 0;
|
row[13] = 95;
|
||||||
row[14] = 0;
|
row[14] = 180;
|
||||||
|
row[15] = 159;
|
||||||
|
row[16] = 90;
|
||||||
|
row[17] = 77;
|
||||||
|
row[18] = 128;
|
||||||
|
row[19] = 0.6;
|
||||||
|
row[20] = 0.9;
|
||||||
|
row[21] = 1.2;
|
||||||
|
row[22] = 1.2;
|
||||||
|
row[23] = 3;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 106;
|
row[0] = 106;
|
||||||
row[1] = "彭博";
|
row[1] = "彭博";
|
||||||
row[2] = "2003";
|
row[2] = 2008;
|
||||||
row[3] = false;
|
row[3] = true;
|
||||||
row[4] = "数学系";
|
row[4] = "数学系";
|
||||||
row[5] = 3;
|
row[5] = 3;
|
||||||
row[6] = 1;
|
row[6] = 1;
|
||||||
@ -750,105 +906,186 @@ namespace FineUI.Examples
|
|||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "basketball,travel,music";
|
row[10] = "basketball,travel,music";
|
||||||
row[11] = "2003-09-01";
|
row[11] = "2003-09-01";
|
||||||
row[12] = 0;
|
row[12] = 60;
|
||||||
row[13] = 0;
|
row[13] = 100;
|
||||||
row[14] = 0;
|
row[14] = 160;
|
||||||
|
row[15] = 175;
|
||||||
|
row[16] = 150;
|
||||||
|
row[17] = 88;
|
||||||
|
row[18] = 126;
|
||||||
|
row[19] = 0.1;
|
||||||
|
row[20] = 0.3;
|
||||||
|
row[21] = 1.5;
|
||||||
|
row[22] = 1.2;
|
||||||
|
row[23] = 3;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 107;
|
row[0] = 107;
|
||||||
row[1] = "黄倩倩";
|
row[1] = "黄婷婷";
|
||||||
row[2] = "2000";
|
row[2] = 2008;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "数学系";
|
row[4] = "数学系";
|
||||||
row[5] = 4;
|
row[5] = 3;
|
||||||
row[6] = 0;
|
row[6] = 0;
|
||||||
row[7] = DateTime.Now.AddDays(-40);
|
row[7] = DateTime.Now.AddDays(-50);
|
||||||
row[8] = "黄倩倩,女,25岁,出生于中国北方的一个小山村,毕业于北京科学技术大学。";
|
row[8] = "黄婷婷,女,25岁,出生于中国北方的一个小山村,毕业于北京科学技术大学。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "travel,movie,music,reading";
|
row[10] = "travel,movie,music,reading";
|
||||||
row[11] = "2000-09-01";
|
row[11] = "2000-09-01";
|
||||||
row[12] = 0;
|
row[12] = 100;
|
||||||
row[13] = 0;
|
row[13] = 80;
|
||||||
row[14] = 0;
|
row[14] = 180;
|
||||||
|
row[15] = 160;
|
||||||
|
row[16] = 80;
|
||||||
|
row[17] = 70;
|
||||||
|
row[18] = 110;
|
||||||
|
row[19] = 0.8;
|
||||||
|
row[20] = 0.8;
|
||||||
|
row[21] = 1.2;
|
||||||
|
row[22] = 1.2;
|
||||||
|
row[23] = 3;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 108;
|
row[0] = 108;
|
||||||
row[1] = "唐超";
|
row[1] = "唐超";
|
||||||
row[2] = "2004";
|
row[2] = 2004;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "物理系";
|
row[4] = "物理系";
|
||||||
row[5] = 4;
|
row[5] = 3;
|
||||||
row[6] = 1;
|
row[6] = 1;
|
||||||
row[7] = DateTime.Now.AddDays(-30);
|
row[7] = DateTime.Now.AddDays(-50);
|
||||||
row[8] = "唐超,男,26岁,出生于中国河南的一个小山村,毕业于中国科学技术大学。";
|
row[8] = "唐超,男,26岁,出生于中国河南的一个小山村,毕业于中国科学技术大学。<br/>作为刘国的同班同学,唐超是班里的尖子生,本科还没毕业就被哈佛大学录取了,现在好像还没毕业呢。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "reading,movie,music,basketball";
|
row[10] = "reading,movie,music,basketball";
|
||||||
row[11] = "2004-09-01";
|
row[11] = "2004-09-01";
|
||||||
row[12] = 0;
|
row[12] = 80;
|
||||||
row[13] = 0;
|
row[13] = 80;
|
||||||
row[14] = 0;
|
row[14] = 160;
|
||||||
|
row[15] = 188;
|
||||||
|
row[16] = 130;
|
||||||
|
row[17] = 82;
|
||||||
|
row[18] = 130;
|
||||||
|
row[19] = 0.5;
|
||||||
|
row[20] = 0.8;
|
||||||
|
row[21] = 1.3;
|
||||||
|
row[22] = 1.2;
|
||||||
|
row[23] = 3;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 109;
|
row[0] = 109;
|
||||||
row[1] = "杨娟娟";
|
row[1] = "杨婷婷";
|
||||||
row[2] = "2003";
|
row[2] = 2004;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "物理系";
|
row[4] = "物理系";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
row[6] = 0;
|
row[6] = 0;
|
||||||
row[7] = DateTime.Now.AddDays(-20);
|
row[7] = DateTime.Now.AddDays(-50);
|
||||||
row[8] = "杨娟娟,女,25岁,出生于中国广西的一个小山村,毕业于南方科学技术大学。";
|
row[8] = "杨婷婷,女,25岁,出生于中国广西的一个小山村,毕业于南方科学技术大学。<br/>杨婷婷的父母都是中科大的高材生,他们很高兴送女儿上一所前中科大校长创办的大学,而南科大自己颁发的学位文凭也颇受争议。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "reading,basketball,movie";
|
row[10] = "reading,basketball,movie";
|
||||||
row[11] = "2003-09-01";
|
row[11] = "2003-09-01";
|
||||||
row[12] = 0;
|
row[12] = 90;
|
||||||
row[13] = 0;
|
row[13] = 60;
|
||||||
row[14] = 0;
|
row[14] = 150;
|
||||||
|
row[15] = 166;
|
||||||
|
row[16] = 110;
|
||||||
|
row[17] = 70;
|
||||||
|
row[18] = 116;
|
||||||
|
row[19] = 0.8;
|
||||||
|
row[20] = 1.0;
|
||||||
|
row[21] = 0.8;
|
||||||
|
row[22] = 1.0;
|
||||||
|
row[23] = 5;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 110;
|
row[0] = 110;
|
||||||
row[1] = "徐鹏";
|
row[1] = "徐鹏";
|
||||||
row[2] = "2002";
|
row[2] = 2002;
|
||||||
row[3] = false;
|
row[3] = false;
|
||||||
row[4] = "物理系";
|
row[4] = "物理系";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
row[6] = 1;
|
row[6] = 1;
|
||||||
row[7] = DateTime.Now.AddDays(-10);
|
row[7] = DateTime.Now.AddDays(-50);
|
||||||
row[8] = "徐鹏,男,23岁,出生于中国安徽的一个小山村,毕业于国防科学技术大学。";
|
row[8] = "徐鹏,男,23岁,出生于中国安徽的一个小山村,毕业于国防科学技术大学。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "reading,basketball,travel";
|
row[10] = "reading,basketball,travel";
|
||||||
row[11] = "2002-09-01";
|
row[11] = "2002-09-01";
|
||||||
row[12] = 0;
|
row[12] = 60;
|
||||||
row[13] = 0;
|
row[13] = 90;
|
||||||
row[14] = 0;
|
row[14] = 150;
|
||||||
|
row[15] = 198;
|
||||||
|
row[16] = 145;
|
||||||
|
row[17] = 83;
|
||||||
|
row[18] = 128;
|
||||||
|
row[19] = 1.2;
|
||||||
|
row[20] = 1.5;
|
||||||
|
row[21] = 1.2;
|
||||||
|
row[22] = 1.5;
|
||||||
|
row[23] = 5;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = 111;
|
row[0] = 111;
|
||||||
row[1] = "纪玲玲";
|
row[1] = "纪婷婷";
|
||||||
row[2] = "2006";
|
row[2] = 2012;
|
||||||
row[3] = true;
|
row[3] = true;
|
||||||
row[4] = "自动化系";
|
row[4] = "自动化系";
|
||||||
row[5] = 5;
|
row[5] = 5;
|
||||||
row[6] = 0;
|
row[6] = 0;
|
||||||
row[7] = DateTime.Now.AddDays(-5);
|
row[7] = DateTime.Now.AddDays(-5);
|
||||||
row[8] = "纪玲玲,女,22岁,出生于中国台湾的一个小山村,毕业于台湾科学技术大学。";
|
row[8] = "纪婷婷,女,22岁,出生于中国台湾的一个小山村,毕业于台湾科学技术大学。";
|
||||||
row[9] = Guid.NewGuid();
|
row[9] = Guid.NewGuid();
|
||||||
row[10] = "reading,movie,music,basketball";
|
row[10] = "reading,movie,music,basketball";
|
||||||
row[11] = "2006-09-01";
|
row[11] = "2006-09-01";
|
||||||
row[12] = 0;
|
row[12] = 90;
|
||||||
row[13] = 0;
|
row[13] = 70;
|
||||||
row[14] = 0;
|
row[14] = 160;
|
||||||
|
row[15] = 158;
|
||||||
|
row[16] = 76;
|
||||||
|
row[17] = 69;
|
||||||
|
row[18] = 109;
|
||||||
|
row[19] = 0.8;
|
||||||
|
row[20] = 0.6;
|
||||||
|
row[21] = 1.2;
|
||||||
|
row[22] = 1.2;
|
||||||
|
row[23] = 5;
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
|
|
||||||
|
row = table.NewRow();
|
||||||
|
row[0] = 112;
|
||||||
|
row[1] = "张一驰";
|
||||||
|
row[2] = 2012;
|
||||||
|
row[3] = true;
|
||||||
|
row[4] = "材料科学与工程系";
|
||||||
|
row[5] = 5;
|
||||||
|
row[6] = 1;
|
||||||
|
row[7] = DateTime.Now.AddDays(-5);
|
||||||
|
row[8] = "张一驰,男,28岁,出生于中国河南的一个小山村,毕业于中国科学技术大学。";
|
||||||
|
row[9] = Guid.NewGuid();
|
||||||
|
row[10] = "reading,movie,music";
|
||||||
|
row[11] = "2000-09-01";
|
||||||
|
row[12] = 99;
|
||||||
|
row[13] = 98;
|
||||||
|
row[14] = 197;
|
||||||
|
row[15] = 183;
|
||||||
|
row[16] = 125;
|
||||||
|
row[17] = 80;
|
||||||
|
row[18] = 120;
|
||||||
|
row[19] = 0.8;
|
||||||
|
row[20] = 0.6;
|
||||||
|
row[21] = 1.2;
|
||||||
|
row[22] = 1.2;
|
||||||
|
row[23] = 5;
|
||||||
|
table.Rows.Add(row);
|
||||||
|
|
||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -861,7 +1098,7 @@ namespace FineUI.Examples
|
|||||||
DataTable table = new DataTable();
|
DataTable table = new DataTable();
|
||||||
table.Columns.Add(new DataColumn("Id", typeof(int)));
|
table.Columns.Add(new DataColumn("Id", typeof(int)));
|
||||||
table.Columns.Add(new DataColumn("Name", typeof(String)));
|
table.Columns.Add(new DataColumn("Name", typeof(String)));
|
||||||
table.Columns.Add(new DataColumn("EntranceYear", typeof(String)));
|
table.Columns.Add(new DataColumn("EntranceYear", typeof(int)));
|
||||||
table.Columns.Add(new DataColumn("AtSchool", typeof(bool)));
|
table.Columns.Add(new DataColumn("AtSchool", typeof(bool)));
|
||||||
table.Columns.Add(new DataColumn("Major", typeof(String)));
|
table.Columns.Add(new DataColumn("Major", typeof(String)));
|
||||||
table.Columns.Add(new DataColumn("Group", typeof(int)));
|
table.Columns.Add(new DataColumn("Group", typeof(int)));
|
||||||
@ -889,6 +1126,19 @@ namespace FineUI.Examples
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region 实用函数
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取回发的参数
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public string GetRequestEventArgument()
|
||||||
|
{
|
||||||
|
return Request.Form["__EVENTARGUMENT"];
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
1
FineUI.Examples/Global.asax
Normal file
1
FineUI.Examples/Global.asax
Normal file
@ -0,0 +1 @@
|
|||||||
|
<%@ Application Codebehind="Global.asax.cs" Inherits="FineUI.Examples.Global" Language="C#" %>
|
52
FineUI.Examples/Global.asax.cs
Normal file
52
FineUI.Examples/Global.asax.cs
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.Security;
|
||||||
|
using System.Web.SessionState;
|
||||||
|
|
||||||
|
namespace FineUI.Examples
|
||||||
|
{
|
||||||
|
public class Global : System.Web.HttpApplication
|
||||||
|
{
|
||||||
|
|
||||||
|
protected void Application_Start(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Application["OnlineUserCount"] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Session_Start(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
// 这种统计在线人数的做法会有一定的误差
|
||||||
|
Application.Lock();
|
||||||
|
Application["OnlineUserCount"] = (int)Application["OnlineUserCount"] + 1;
|
||||||
|
Application.UnLock();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Application_BeginRequest(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Application_AuthenticateRequest(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Application_Error(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Session_End(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Application.Lock();
|
||||||
|
Application["OnlineUserCount"] = (int)Application["OnlineUserCount"] - 1;
|
||||||
|
Application.UnLock();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Application_End(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,28 +1,55 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<configSections>
|
<configSections>
|
||||||
<section name="FineUI" type="FineUI.ConfigSection, FineUI" requirePermission="false"/>
|
<section name="FineUI" type="FineUI.ConfigSection, FineUI" requirePermission="false" />
|
||||||
</configSections>
|
</configSections>
|
||||||
<!-- 可用的配置项(这里列的都是默认值): Language="zh_CN" AjaxTimeout="60" EnableAjax="true" Theme="Blue" FormMessageTarget="Qtip" FormOffsetRight="20" FormLabelWidth="100" FormLabelSeparator=":" FormLabelAlign="Left" IconBasePath="~/icon" EnableAjaxLoading="true" AjaxLoadingType="Default" CustomTheme="" CustomThemeBasePath="~/theme" ExtjsBasePath="~/extjs" -->
|
<!-- 可用的配置项(这里列的都是默认值):
|
||||||
<FineUI DebugMode="true" />
|
Theme="Neptune"
|
||||||
<appSettings/>
|
Language="zh_CN"
|
||||||
<connectionStrings/>
|
AjaxTimeout="120"
|
||||||
|
EnableAjax="true"
|
||||||
|
DebugMode="false"
|
||||||
|
FormMessageTarget="Qtip"
|
||||||
|
FormOffsetRight="0"
|
||||||
|
FormLabelWidth="100"
|
||||||
|
FormLabelSeparator=":"
|
||||||
|
FormLabelAlign="Left"
|
||||||
|
EnableAjaxLoading="true"
|
||||||
|
AjaxLoadingType="Default"
|
||||||
|
CustomTheme=""
|
||||||
|
IconBasePath="~/res/icon"
|
||||||
|
CustomThemeBasePath="~/res/theme"
|
||||||
|
JSBasePath="~/extjs"
|
||||||
|
IEEdge="true"
|
||||||
|
-->
|
||||||
|
<FineUI DebugMode="true" Theme="Neptune" />
|
||||||
|
<appSettings />
|
||||||
|
<connectionStrings />
|
||||||
<system.web>
|
<system.web>
|
||||||
<!-- Net3.5以上的项目,一定要为pages节点加上这两个属性:controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" -->
|
<!-- Net3.5以上的项目,一定要为pages节点加上这两个属性:
|
||||||
|
controlRenderingCompatibilityVersion="3.5"
|
||||||
|
clientIDMode="AutoID"
|
||||||
|
-->
|
||||||
<pages>
|
<pages>
|
||||||
<controls>
|
<controls>
|
||||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="x"/>
|
<add assembly="FineUI" namespace="FineUI" tagPrefix="f" />
|
||||||
</controls>
|
</controls>
|
||||||
</pages>
|
</pages>
|
||||||
<httpModules>
|
<httpModules>
|
||||||
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI"/>
|
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI" />
|
||||||
</httpModules>
|
</httpModules>
|
||||||
<httpHandlers>
|
<httpHandlers>
|
||||||
<add verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI" validate="false"/>
|
<add verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI" validate="false" />
|
||||||
</httpHandlers>
|
</httpHandlers>
|
||||||
<httpRuntime maxRequestLength="102400 "/>
|
<httpRuntime maxRequestLength="102400 " />
|
||||||
<customErrors mode="Off"/>
|
<customErrors mode="Off" />
|
||||||
<compilation debug="true"/>
|
<compilation debug="true" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
在虚拟主机中运行ASP.NET程序,要添加如下配置项,否则在页面回发时可能出现“验证视图状态 MAC 失败”的错误。
|
||||||
|
如何生成MachineKey:http://blogs.msdn.com/b/amb/archive/2012/07/31/easiest-way-to-generate-machinekey.aspx
|
||||||
|
-->
|
||||||
|
<machineKey decryptionKey="C955D0B041D3749FB4E150677F827DC1857B909399A5D152,IsolateApps" validationKey="891194EEC95A3895658E397FEA04F6187CFAF77151BE89F207D993BB4BA9DE4152BACB05BC4AEB8BBB5FDD950F77881204F59F3F5DBE39FC3EC49119EA7C106D,IsolateApps" />
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<authentication mode="Forms">
|
<authentication mode="Forms">
|
||||||
|
@ -4,40 +4,45 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:Accordion ID="Accordion1" Title="手风琴控件" runat="server" Width="300px" Height="450px"
|
<f:Accordion ID="Accordion1" Title="手风琴控件" runat="server" Width="300px" Height="450px"
|
||||||
EnableFill="true" ShowBorder="True" ActiveIndex="1" EnableFrame="true" EnableCollapse="true">
|
ShowCollapseTool="true"
|
||||||
|
ShowBorder="True" ActivePaneIndex="1" EnableCollapse="true">
|
||||||
<Panes>
|
<Panes>
|
||||||
<x:AccordionPane ID="AccordionPane1" runat="server" Title="面板一" IconUrl="../images/16/1.png"
|
<f:AccordionPane ID="AccordionPane1" runat="server" Title="面板一" IconUrl="~/res/images/16/1.png"
|
||||||
BodyPadding="2px 5px" ShowBorder="false">
|
BodyPadding="2px 5px" ShowBorder="false">
|
||||||
<Items>
|
<Items>
|
||||||
<x:Label ID="Label1" Text="面板一中的文本" runat="server">
|
<f:Label ID="Label1" Text="面板一中的文本" runat="server">
|
||||||
</x:Label>
|
</f:Label>
|
||||||
</Items>
|
</Items>
|
||||||
</x:AccordionPane>
|
</f:AccordionPane>
|
||||||
<x:AccordionPane ID="AccordionPane2" runat="server" Title="面板二" IconUrl="../images/16/4.png"
|
<f:AccordionPane ID="AccordionPane2" runat="server" Title="面板二" IconUrl="~/res/images/16/4.png"
|
||||||
BodyPadding="2px 5px" ShowBorder="false">
|
BodyPadding="2px 5px" ShowBorder="false">
|
||||||
<Items>
|
<Items>
|
||||||
<x:Label ID="Label2" Text="面板二中的文本" runat="server">
|
<f:Label ID="Label2" Text="面板二中的文本" runat="server">
|
||||||
</x:Label>
|
</f:Label>
|
||||||
</Items>
|
</Items>
|
||||||
</x:AccordionPane>
|
</f:AccordionPane>
|
||||||
<x:AccordionPane ID="AccordionPane3" runat="server" Title="面板三" IconUrl="../images/16/7.png"
|
<f:AccordionPane ID="AccordionPane3" runat="server" Title="面板三" IconUrl="~/res/images/16/7.png"
|
||||||
BodyPadding="2px 5px" ShowBorder="false">
|
BodyPadding="2px 5px" ShowBorder="false">
|
||||||
<Items>
|
<Items>
|
||||||
<x:Label ID="Label3" Text="面板三中的文本" runat="server">
|
<f:Label ID="Label3" Text="面板三中的文本" runat="server">
|
||||||
</x:Label>
|
</f:Label>
|
||||||
</Items>
|
</Items>
|
||||||
</x:AccordionPane>
|
</f:AccordionPane>
|
||||||
</Panes>
|
</Panes>
|
||||||
</x:Accordion>
|
</f:Accordion>
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="Button1" Text="获取当前展开的面板" runat="server" OnClick="Button1_Click">
|
<f:Button ID="Button1" Text="获取当前展开的面板" runat="server" OnClick="Button1_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<f:Button ID="Button2" Text="展开下一个面板" runat="server" OnClick="Button2_Click">
|
||||||
|
</f:Button>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -17,7 +17,18 @@ namespace FineUI.Examples.accordion
|
|||||||
|
|
||||||
protected void Button1_Click(object sender, EventArgs e)
|
protected void Button1_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Alert.ShowInTop(String.Format("当前展开的是第 {0} 个面板", Accordion1.ActiveIndex + 1));
|
Alert.ShowInTop(String.Format("当前展开的是第 {0} 个面板", Accordion1.ActivePaneIndex + 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Button2_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var nextIndex = Accordion1.ActivePaneIndex + 1;
|
||||||
|
if (nextIndex >= Accordion1.Panes.Count)
|
||||||
|
{
|
||||||
|
nextIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Accordion1.ActivePaneIndex = nextIndex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -101,5 +101,14 @@ namespace FineUI.Examples.accordion {
|
|||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.Button Button1;
|
protected global::FineUI.Button Button1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Button2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button Button2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
44
FineUI.Examples/accordion/accordion_autopostback.aspx
Normal file
44
FineUI.Examples/accordion/accordion_autopostback.aspx
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="accordion_autopostback.aspx.cs" Inherits="FineUI.Examples.accordion.accordion_autopostback" %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head runat="server">
|
||||||
|
<title></title>
|
||||||
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
|
<f:Accordion ID="Accordion1" Title="手风琴控件" runat="server" Width="300px" Height="450px"
|
||||||
|
ShowCollapseTool="true"
|
||||||
|
ShowBorder="True" ActivePaneIndex="1" AutoPostBack="true" OnPaneIndexChanged="Accordion1_PaneIndexChanged" EnableCollapse="true">
|
||||||
|
<Panes>
|
||||||
|
<f:AccordionPane ID="AccordionPane1" runat="server" Title="面板一" IconUrl="~/res/images/16/1.png"
|
||||||
|
BodyPadding="2px 5px" ShowBorder="false">
|
||||||
|
<Items>
|
||||||
|
<f:Label ID="Label1" Text="面板一中的文本" runat="server">
|
||||||
|
</f:Label>
|
||||||
|
</Items>
|
||||||
|
</f:AccordionPane>
|
||||||
|
<f:AccordionPane ID="AccordionPane2" runat="server" Title="面板二" IconUrl="~/res/images/16/4.png"
|
||||||
|
BodyPadding="2px 5px" ShowBorder="false">
|
||||||
|
<Items>
|
||||||
|
<f:Label ID="Label2" Text="面板二中的文本" runat="server">
|
||||||
|
</f:Label>
|
||||||
|
</Items>
|
||||||
|
</f:AccordionPane>
|
||||||
|
<f:AccordionPane ID="AccordionPane3" runat="server" Title="面板三" IconUrl="~/res/images/16/7.png"
|
||||||
|
BodyPadding="2px 5px" ShowBorder="false">
|
||||||
|
<Items>
|
||||||
|
<f:Label ID="Label3" Text="面板三中的文本" runat="server">
|
||||||
|
</f:Label>
|
||||||
|
</Items>
|
||||||
|
</f:AccordionPane>
|
||||||
|
</Panes>
|
||||||
|
</f:Accordion>
|
||||||
|
<br />
|
||||||
|
<f:Button ID="Button1" Text="获取当前展开的面板" runat="server" OnClick="Button1_Click">
|
||||||
|
</f:Button>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
28
FineUI.Examples/accordion/accordion_autopostback.aspx.cs
Normal file
28
FineUI.Examples/accordion/accordion_autopostback.aspx.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using System.Data;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace FineUI.Examples.accordion
|
||||||
|
{
|
||||||
|
public partial class accordion_autopostback : PageBase
|
||||||
|
{
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Alert.ShowInTop(String.Format("当前展开的是第 {0} 个面板", Accordion1.ActivePaneIndex + 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Accordion1_PaneIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Alert.ShowInTop(String.Format("当前展开的是第 {0} 个面板", Accordion1.ActivePaneIndex + 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
105
FineUI.Examples/accordion/accordion_autopostback.aspx.designer.cs
generated
Normal file
105
FineUI.Examples/accordion/accordion_autopostback.aspx.designer.cs
generated
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUI.Examples.accordion {
|
||||||
|
|
||||||
|
|
||||||
|
public partial class accordion_autopostback {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// form1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PageManager1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.PageManager PageManager1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Accordion1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Accordion Accordion1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// AccordionPane1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.AccordionPane AccordionPane1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Label1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Label Label1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// AccordionPane2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.AccordionPane AccordionPane2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Label2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Label Label2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// AccordionPane3 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.AccordionPane AccordionPane3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Label3 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Label Label3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Button1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button Button1;
|
||||||
|
}
|
||||||
|
}
|
@ -5,46 +5,46 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style>
|
<style>
|
||||||
body.x-body {
|
body.f-body {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server"></x:PageManager>
|
<f:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server"></f:PageManager>
|
||||||
<x:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
|
<f:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
|
||||||
<Regions>
|
<Regions>
|
||||||
<x:Region ID="Region2" Split="true" Width="200px" Margins="0 0 0 0" ShowHeader="false"
|
<f:Region ID="Region2" RegionSplit="true" Width="200px" ShowHeader="false"
|
||||||
Title="目录" EnableCollapse="true" Layout="Fit" Position="Left" runat="server">
|
Title="目录" EnableCollapse="true" Layout="Fit" RegionPosition="Left" runat="server">
|
||||||
<Items>
|
<Items>
|
||||||
<x:Accordion runat="server" ShowBorder="false" ShowHeader="false" ShowCollapseTool="true">
|
<f:Accordion runat="server" ShowBorder="false" ShowHeader="false" ShowCollapseTool="true">
|
||||||
<Panes>
|
<Panes>
|
||||||
<x:AccordionPane runat="server" Title="面板一" IconUrl="~/images/16/1.png" BodyPadding="2px 5px"
|
<f:AccordionPane runat="server" Title="面板一" IconUrl="~/res/images/16/1.png" BodyPadding="2px 5px"
|
||||||
Layout="Fit" ShowBorder="false">
|
Layout="Fit" ShowBorder="false">
|
||||||
<Items>
|
<Items>
|
||||||
<x:Tree runat="server" EnableArrows="true" ShowBorder="false" ShowHeader="false" ID="treeMenu">
|
<f:Tree runat="server" ShowBorder="false" ShowHeader="false" ID="treeMenu">
|
||||||
</x:Tree>
|
</f:Tree>
|
||||||
</Items>
|
</Items>
|
||||||
</x:AccordionPane>
|
</f:AccordionPane>
|
||||||
<x:AccordionPane runat="server" Title="面板二" IconUrl="~/images/16/4.png" BodyPadding="2px 5px"
|
<f:AccordionPane runat="server" Title="面板二" IconUrl="~/res/images/16/4.png" BodyPadding="2px 5px"
|
||||||
ShowBorder="false">
|
ShowBorder="false">
|
||||||
<Items>
|
<Items>
|
||||||
<x:Label Text="面板二中的文本" runat="server">
|
<f:Label Text="面板二中的文本" runat="server">
|
||||||
</x:Label>
|
</f:Label>
|
||||||
</Items>
|
</Items>
|
||||||
</x:AccordionPane>
|
</f:AccordionPane>
|
||||||
</Panes>
|
</Panes>
|
||||||
</x:Accordion>
|
</f:Accordion>
|
||||||
</Items>
|
</Items>
|
||||||
</x:Region>
|
</f:Region>
|
||||||
<x:Region ID="Region3" ShowHeader="false" EnableIFrame="true" IFrameUrl="~/accordion/accordion_tree_index.htm"
|
<f:Region ID="Region3" ShowHeader="false" EnableIFrame="true" IFrameUrl="~/accordion/accordion_tree_index.htm"
|
||||||
IFrameName="main" Margins="0 0 0 0" Position="Center" runat="server">
|
IFrameName="main" Position="Center" runat="server">
|
||||||
</x:Region>
|
</f:Region>
|
||||||
</Regions>
|
</Regions>
|
||||||
</x:RegionPanel>
|
</f:RegionPanel>
|
||||||
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/common/menu.xml"></asp:XmlDataSource>
|
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/common/menu.xml"></asp:XmlDataSource>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
@ -4,31 +4,34 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" AjaxAspnetControls="aspBox,aspButton" runat="server" />
|
<f:PageManager ID="PageManager1" AjaxAspnetControls="aspBox" runat="server" />
|
||||||
<x:ContentPanel ID="ContentPanel1" runat="server" Width="650px" BodyPadding="5px"
|
<f:ContentPanel ID="ContentPanel1" runat="server" Width="650px" BodyPadding="5px"
|
||||||
ShowBorder="true" ShowHeader="true" Title="内容面板">
|
ShowBorder="true" ShowHeader="true" Title="内容面板">
|
||||||
<x:TextBox runat="server" Width="300px" ID="extBox">
|
<f:TextBox runat="server" Width="300px" ID="extBox">
|
||||||
</x:TextBox>
|
</f:TextBox>
|
||||||
<br />
|
<br />
|
||||||
<asp:TextBox runat="server" Width="300px" ID="aspBox"></asp:TextBox>
|
<asp:TextBox runat="server" Width="300px" ID="aspBox"></asp:TextBox>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<f:Button ID="Button1" runat="server" CssClass="marginr" Text="1. FineUI 按钮(AJAX)"
|
||||||
<x:Button ID="Button1" runat="server" CssClass="inline" Text="1. FineUI 按钮(AJAX)"
|
|
||||||
OnClick="Button1_Click">
|
OnClick="Button1_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:Button ID="Button2" runat="server" Text="2. FineUI 按钮" EnableAjax="false" OnClick="Button2_Click">
|
<f:Button ID="Button2" runat="server" Text="2. FineUI 按钮" EnableAjax="false" OnClick="Button2_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<br />
|
<br />
|
||||||
<asp:Button ID="Button3" Text="3. ASP.NET 按钮(AJAX)" runat="server" OnClick="Button3_Click"
|
<asp:Button ID="Button3" Text="3. ASP.NET 按钮(AJAX)" runat="server" OnClick="Button3_Click"
|
||||||
UseSubmitBehavior="false" />
|
UseSubmitBehavior="false" />
|
||||||
<asp:Button ID="Button4" Text="4. ASP.NET 按钮" runat="server" OnClick="Button4_Click" />
|
<asp:Button ID="Button4" Text="4. ASP.NET 按钮" runat="server" OnClick="Button4_Click" UseSubmitBehavior="true" />
|
||||||
</x:ContentPanel>
|
</f:ContentPanel>
|
||||||
<br />
|
注意:
|
||||||
注意:只有设置ASP.NET按钮的属性UseSubmitBehavior=false,点击事件才是AJAX;否则点击ASP.NET按钮会导致整个页面回发。
|
<ul>
|
||||||
|
<li>【3. ASP.NET 按钮(AJAX)】设置了属性UseSubmitBehavior=false,点击此按钮是AJAX回发。</li>
|
||||||
|
<li>【4. ASP.NET 按钮】设置了属性UseSubmitBehavior=true,点击此按钮会导致整个页面回发。</li>
|
||||||
|
<li>由于【4. ASP.NET 按钮】在客户端会被渲染为input[type=submit],所以在两个文本输入框内按回车键都会导致整个页面回发。</li>
|
||||||
|
</ul>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" AjaxAspnetControls="Label1,Literal1,Literal2_Container" runat="server" />
|
<f:PageManager ID="PageManager1" AjaxAspnetControls="Label1,Literal1,Literal2_Container" runat="server" />
|
||||||
<asp:Label ID="Label1" Text="Label1" runat="server"></asp:Label>
|
<asp:Label ID="Label1" Text="Label1" runat="server"></asp:Label>
|
||||||
<br />
|
<br />
|
||||||
<asp:Literal ID="Literal1" Text="Literal1" runat="server"></asp:Literal>
|
<asp:Literal ID="Literal1" Text="Literal1" runat="server"></asp:Literal>
|
||||||
@ -18,8 +18,8 @@
|
|||||||
<asp:Literal ID="Literal2" Text="Literal2" runat="server"></asp:Literal>
|
<asp:Literal ID="Literal2" Text="Literal2" runat="server"></asp:Literal>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="Button1" runat="server" Text="更新上面几个文本值" OnClick="Button1_Click">
|
<f:Button ID="Button1" runat="server" Text="更新上面几个文本值" OnClick="Button1_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<br />
|
<br />
|
||||||
注意:只有Label1和Literal2的值更新了。
|
注意:只有Label1和Literal2的值更新了。
|
||||||
</form>
|
</form>
|
||||||
|
@ -4,16 +4,17 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:Button Text="点击弹出对话框" runat="server" ID="btnHello" OnClick="btnHello_Click">
|
<f:Button Text="点击弹出对话框" runat="server" ID="btnHello" OnClick="btnHello_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<br />
|
<br />
|
||||||
<x:Button Text="在顶层窗口弹出对话框" runat="server" ID="btnHello2" OnClick="btnHello2_Click">
|
<br />
|
||||||
</x:Button>
|
<f:Button Text="在顶层窗口弹出对话框" runat="server" ID="btnHello2" OnClick="btnHello2_Click">
|
||||||
|
</f:Button>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
|
@ -4,39 +4,44 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
用户名:admin
|
用户名:admin
|
||||||
<br />
|
<br />
|
||||||
密码:admin
|
密码:admin
|
||||||
<br />
|
<br />
|
||||||
注意:在任意文本输入框内按回车键,都会触发按钮(Type="Submit")的表单提交事件。
|
<br />
|
||||||
<x:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
<br />
|
||||||
WindowPosition="GoldenSection" Width="350px" FooterBarAlign="Right">
|
注意:在任意输入框内按回车键都会触发表单的提交(相当于点击【登陆】按钮)。
|
||||||
<Items>
|
<f:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
||||||
<x:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
WindowPosition="GoldenSection" Width="350px">
|
||||||
LabelWidth="60px" ShowHeader="false">
|
<Items>
|
||||||
<Items>
|
<f:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
||||||
<x:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server">
|
LabelWidth="60px" ShowHeader="false">
|
||||||
</x:TextBox>
|
<Items>
|
||||||
<x:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server">
|
<f:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server">
|
||||||
</x:TextBox>
|
</f:TextBox>
|
||||||
</Items>
|
<f:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server">
|
||||||
</x:SimpleForm>
|
</f:TextBox>
|
||||||
</Items>
|
</Items>
|
||||||
<Toolbars>
|
</f:SimpleForm>
|
||||||
<x:Toolbar ID="Toolbar1" runat="server" Position="Footer">
|
</Items>
|
||||||
<Items>
|
<Toolbars>
|
||||||
<x:Button ID="btnLogin" Text="登录" Type="Submit" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
<f:Toolbar ID="Toolbar1" runat="server" ToolbarAlign="Right" Position="Bottom">
|
||||||
runat="server" OnClick="btnLogin_Click">
|
<Items>
|
||||||
</x:Button>
|
<f:Button ID="btnLogin" Text="登录" Type="Submit" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
||||||
</Items>
|
runat="server" OnClick="btnLogin_Click">
|
||||||
</x:Toolbar>
|
</f:Button>
|
||||||
</Toolbars>
|
<f:Button ID="btnReset" Text="重置" Type="Reset" EnablePostBack="false"
|
||||||
</x:Window>
|
runat="server">
|
||||||
|
</f:Button>
|
||||||
|
</Items>
|
||||||
|
</f:Toolbar>
|
||||||
|
</Toolbars>
|
||||||
|
</f:Window>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
9
FineUI.Examples/basic/login.aspx.designer.cs
generated
9
FineUI.Examples/basic/login.aspx.designer.cs
generated
@ -83,5 +83,14 @@ namespace FineUI.Examples.basic {
|
|||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.Button btnLogin;
|
protected global::FineUI.Button btnLogin;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnReset 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnReset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,51 +5,54 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
用户名:admin
|
用户名:admin
|
||||||
<br />
|
<br />
|
||||||
密码:admin
|
密码:admin
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
<f:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
||||||
WindowPosition="GoldenSection" Width="350px">
|
WindowPosition="GoldenSection" Width="350px">
|
||||||
<Items>
|
<Items>
|
||||||
<x:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
<f:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
||||||
LabelWidth="60px" ShowHeader="false">
|
LabelWidth="60px" ShowHeader="false">
|
||||||
<Items>
|
<Items>
|
||||||
<x:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server">
|
<f:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server">
|
||||||
</x:TextBox>
|
</f:TextBox>
|
||||||
<x:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server">
|
<f:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server">
|
||||||
</x:TextBox>
|
</f:TextBox>
|
||||||
<x:TextBox ID="tbxCaptcha" Label="验证码" Required="true" runat="server">
|
<f:TextBox ID="tbxCaptcha" Label="验证码" Required="true" runat="server">
|
||||||
</x:TextBox>
|
</f:TextBox>
|
||||||
<x:Panel CssStyle="padding-left:65px;" ShowBorder="false" ShowHeader="false"
|
<f:Panel CssStyle="padding-left:65px;" ShowBorder="false" ShowHeader="false"
|
||||||
runat="server">
|
runat="server">
|
||||||
<Items>
|
<Items>
|
||||||
<x:Image ID="imgCaptcha" CssStyle="float:left;width:160px;" runat="server" ShowEmptyLabel="true">
|
<f:Image ID="imgCaptcha" CssStyle="float:left;width:160px;" runat="server">
|
||||||
</x:Image>
|
</f:Image>
|
||||||
<x:LinkButton CssStyle="float:left;padding-top:8px;" ID="btnRefresh" Text="看不清?"
|
<f:LinkButton CssStyle="float:left;margin-top:8px;" ID="btnRefresh" Text="看不清?"
|
||||||
runat="server" OnClick="btnRefresh_Click">
|
runat="server" OnClick="btnRefresh_Click">
|
||||||
</x:LinkButton>
|
</f:LinkButton>
|
||||||
</Items>
|
</Items>
|
||||||
</x:Panel>
|
</f:Panel>
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
</Items>
|
</Items>
|
||||||
<Toolbars>
|
<Toolbars>
|
||||||
<x:Toolbar ID="Toolbar1" runat="server" Position="Footer">
|
<f:Toolbar ID="Toolbar1" runat="server" ToolbarAlign="Right" Position="Bottom">
|
||||||
<Items>
|
<Items>
|
||||||
<x:Button ID="btnLogin" Text="登录" Type="Submit" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
<f:Button ID="btnLogin" Text="登录" Type="Submit" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
||||||
runat="server" OnClick="btnLogin_Click">
|
runat="server" OnClick="btnLogin_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
</Items>
|
<f:Button ID="btnReset" Text="重置" Type="Reset" EnablePostBack="false"
|
||||||
</x:Toolbar>
|
runat="server">
|
||||||
</Toolbars>
|
</f:Button>
|
||||||
</x:Window>
|
</Items>
|
||||||
|
</f:Toolbar>
|
||||||
|
</Toolbars>
|
||||||
|
</f:Window>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -110,5 +110,14 @@ namespace FineUI.Examples.basic {
|
|||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.Button btnLogin;
|
protected global::FineUI.Button btnLogin;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnReset 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnReset;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
47
FineUI.Examples/basic/login_enterkey.aspx
Normal file
47
FineUI.Examples/basic/login_enterkey.aspx
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login_enterkey.aspx.cs" Inherits="FineUI.Examples.basic.login_enterkey" %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head runat="server">
|
||||||
|
<title></title>
|
||||||
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
|
用户名:admin
|
||||||
|
<br />
|
||||||
|
密码:admin
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
注意:在表单内按回车键会导航到下一个控件。
|
||||||
|
<f:Window ID="Window1" runat="server" Title="登录表单" IsModal="false" EnableClose="false"
|
||||||
|
WindowPosition="GoldenSection" Width="350px">
|
||||||
|
<Items>
|
||||||
|
<f:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="false" BodyPadding="10px"
|
||||||
|
LabelWidth="60px" ShowHeader="false">
|
||||||
|
<Items>
|
||||||
|
<f:TextBox ID="tbxUserName" Label="用户名" Required="true" runat="server" NextFocusControl="tbxPassword">
|
||||||
|
</f:TextBox>
|
||||||
|
<f:TextBox ID="tbxPassword" Label="密码" TextMode="Password" Required="true" runat="server" NextFocusControl="btnLogin">
|
||||||
|
</f:TextBox>
|
||||||
|
</Items>
|
||||||
|
</f:SimpleForm>
|
||||||
|
</Items>
|
||||||
|
<Toolbars>
|
||||||
|
<f:Toolbar ID="Toolbar1" runat="server" ToolbarAlign="Right" Position="Bottom">
|
||||||
|
<Items>
|
||||||
|
<f:Button ID="btnLogin" Text="登录" Type="Button" ValidateForms="SimpleForm1" ValidateTarget="Top"
|
||||||
|
runat="server" OnClick="btnLogin_Click">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnReset" Text="重置" Type="Reset" EnablePostBack="false"
|
||||||
|
runat="server">
|
||||||
|
</f:Button>
|
||||||
|
</Items>
|
||||||
|
</f:Toolbar>
|
||||||
|
</Toolbars>
|
||||||
|
</f:Window>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
31
FineUI.Examples/basic/login_enterkey.aspx.cs
Normal file
31
FineUI.Examples/basic/login_enterkey.aspx.cs
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using System.Data;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace FineUI.Examples.basic
|
||||||
|
{
|
||||||
|
public partial class login_enterkey : PageBase
|
||||||
|
{
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnLogin_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (tbxUserName.Text == "admin" && tbxPassword.Text == "admin")
|
||||||
|
{
|
||||||
|
Alert.ShowInTop("成功登录!");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Alert.ShowInTop("用户名或密码错误!", MessageBoxIcon.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
96
FineUI.Examples/basic/login_enterkey.aspx.designer.cs
generated
Normal file
96
FineUI.Examples/basic/login_enterkey.aspx.designer.cs
generated
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUI.Examples.basic {
|
||||||
|
|
||||||
|
|
||||||
|
public partial class login_enterkey {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// form1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PageManager1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.PageManager PageManager1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Window1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Window Window1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SimpleForm1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.SimpleForm SimpleForm1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// tbxUserName 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.TextBox tbxUserName;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// tbxPassword 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.TextBox tbxPassword;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Toolbar1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Toolbar Toolbar1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnLogin 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnLogin;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnReset 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnReset;
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -4,7 +4,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.redbutton button
|
.redbutton button
|
||||||
{
|
{
|
||||||
@ -14,27 +14,27 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:Button ID="btnChangeEnable" Text="启用后面的按钮" runat="server" OnClick="btnChangeEnable_Click"
|
<f:Button ID="btnChangeEnable" Text="启用后面的按钮" runat="server" OnClick="btnChangeEnable_Click"
|
||||||
CssClass="inline" />
|
CssClass="marginr" />
|
||||||
<x:Button ID="btnEnable" Text="禁用的按钮" OnClick="btnEnable_Click" runat="server"
|
<f:Button ID="btnEnable" Text="禁用的按钮" OnClick="btnEnable_Click" runat="server"
|
||||||
Enabled="False" />
|
Enabled="False" />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="btnChangePressed" Text="改变后面按钮的按下状态" runat="server" OnClick="btnChangePressed_Click"
|
<f:Button ID="btnChangePressed" Text="改变后面按钮的按下状态" runat="server" OnClick="btnChangePressed_Click"
|
||||||
CssClass="inline" />
|
CssClass="marginr" />
|
||||||
<x:Button ID="btnPressed" Text="按下的按钮" runat="server" EnablePress="true" Pressed="true" />
|
<f:Button ID="btnPressed" Text="按下的按钮" runat="server" EnablePress="true" Pressed="true" />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="btnTooltip" Text="这个按钮有提示信息(点击改变提示信息)" ToolTip="这是按钮的提示信息" OnClick="btnTooltip_Click"
|
<f:Button ID="btnTooltip" Text="这个按钮有提示信息(点击改变提示信息)" ToolTip="这是按钮的提示信息" OnClick="btnTooltip_Click"
|
||||||
runat="server">
|
runat="server">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="Button1" Text="普通按钮" runat="server" EnablePostBack="false" CssClass="inline" />
|
<f:Button ID="Button1" Text="普通按钮" runat="server" EnablePostBack="false" CssClass="marginr" />
|
||||||
<x:Button ID="Button2" Text="中等大小按钮" runat="server" Size="Medium" EnablePostBack="false"
|
<f:Button ID="Button2" Text="中等大小按钮" runat="server" Size="Medium" EnablePostBack="false"
|
||||||
CssClass="inline" />
|
CssClass="marginr" />
|
||||||
<x:Button ID="Button3" Text="大按钮" runat="server" Size="Large" EnablePostBack="false" />
|
<f:Button ID="Button3" Text="大按钮" runat="server" Size="Large" EnablePostBack="false" />
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -4,20 +4,20 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:Button ID="btnServerClick" Text="服务器端事件" OnClick="btnServerClick_Click" runat="server">
|
<f:Button ID="btnServerClick" Text="服务器端事件" OnClick="btnServerClick_Click" runat="server">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="btnClientClick" Text="客户端事件" OnClientClick="alert('这是客户端事件');" EnablePostBack="false"
|
<f:Button ID="btnClientClick" Text="客户端事件" OnClientClick="alert('这是客户端事件');" EnablePostBack="false"
|
||||||
CssClass="inline" runat="server">
|
CssClass="marginr" runat="server">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:Button ID="btnClientClick2" Text="服务器端生成的客户端事件" EnablePostBack="false" runat="server">
|
<f:Button ID="btnClientClick2" Text="服务器端生成的客户端事件" EnablePostBack="false" runat="server">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
</form>
|
</form>
|
||||||
|
@ -4,29 +4,32 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.bgbtn {
|
.bgbtn {
|
||||||
background: url(../images/login.png) no-repeat;
|
background-image: url(../res/images/login.png) !important;
|
||||||
width: 320px;
|
width: 320px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
|
border-width: 0;
|
||||||
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bgbtn .x-btn-tl, .bgbtn .x-btn-tr, .bgbtn .x-btn-tc,
|
.bgbtn .x-frame-ml, .bgbtn .x-frame-mc, .bgbtn .x-frame-mr,
|
||||||
.bgbtn .x-btn-ml, .bgbtn .x-btn-mr, .bgbtn .x-btn-mc,
|
.bgbtn .x-frame-tl, .bgbtn .x-frame-tc, .bgbtn .x-frame-tr,
|
||||||
.bgbtn .x-btn-bl, .bgbtn .x-btn-br, .bgbtn .x-btn-bc {
|
.bgbtn .x-frame-bl, .bgbtn .x-frame-bc, .bgbtn .x-frame-br {
|
||||||
background-image: none;
|
background-image: none;
|
||||||
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:Button ID="Button1" Text="普通按钮" runat="server" Size="Large" OnClick="Button1_Click" />
|
<f:Button ID="Button1" Text="普通按钮" runat="server" Size="Large" OnClick="Button1_Click" />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<x:Button ID="Button2" Text="" CssClass="bgbtn" runat="server" OnClick="Button2_Click" />
|
<f:Button ID="Button2" Text="" CssClass="bgbtn" runat="server" OnClick="Button2_Click" />
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
@ -4,29 +4,29 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:Button ID="btnIcon1" Text="图标在左侧" Icon="Report" runat="server" CssClass="inline" />
|
<f:Button ID="btnIcon1" Text="图标在左侧" Icon="Report" runat="server" CssClass="marginr" />
|
||||||
<x:Button ID="btnIcon2" Text="图标在右侧" IconAlign="Right" Icon="Report" runat="server" />
|
<f:Button ID="btnIcon2" Text="图标在右侧" IconAlign="Right" Icon="Report" runat="server" />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="btnIcon3" Text="图标在上面" IconAlign="Top" Icon="Report" runat="server"
|
<f:Button ID="btnIcon3" Text="图标在上面" IconAlign="Top" Icon="Report" runat="server"
|
||||||
CssClass="inline" />
|
CssClass="marginr" />
|
||||||
<x:Button ID="btnIcon4" Text="图标在下面" IconAlign="Bottom" Icon="Report" runat="server" />
|
<f:Button ID="btnIcon4" Text="图标在下面" IconAlign="Bottom" Icon="Report" runat="server" />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="btnCustomIcon" Text="自定义图标(点击修改图标)" OnClick="btnCustomIcon_Click"
|
<f:Button ID="btnCustomIcon" Text="自定义图标(点击修改图标)" OnClick="btnCustomIcon_Click"
|
||||||
IconUrl="~/images/16/1.png" runat="server" />
|
IconUrl="~/res/images/16/1.png" runat="server" />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
只有图片的按钮:
|
只有图片的按钮:
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="Button1" IconUrl="~/images/16/1.png" CssClass="inline" runat="server" />
|
<f:Button ID="Button1" IconUrl="~/res/images/16/1.png" CssClass="marginr" runat="server" />
|
||||||
<x:Button ID="Button2" IconUrl="~/images/16/8.png" runat="server" />
|
<f:Button ID="Button2" IconUrl="~/res/images/16/8.png" runat="server" />
|
||||||
<br />
|
<br />
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
@ -15,7 +15,14 @@ namespace FineUI.Examples.button
|
|||||||
|
|
||||||
protected void btnCustomIcon_Click(object sender, EventArgs e)
|
protected void btnCustomIcon_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
btnCustomIcon.IconUrl = "~/images/16/8.png";
|
if (btnCustomIcon.IconUrl.EndsWith("1.png"))
|
||||||
|
{
|
||||||
|
btnCustomIcon.IconUrl = "~/res/images/16/8.png";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
btnCustomIcon.IconUrl = "~/res/images/16/1.png";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,27 +5,27 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:LinkButton ID="LinkButton2" Text="客户端事件(服务器生成)" EnablePostBack="false" runat="server">
|
<f:LinkButton ID="LinkButton2" Text="客户端事件(服务器生成)" EnablePostBack="false" runat="server">
|
||||||
</x:LinkButton>
|
</f:LinkButton>
|
||||||
<br />
|
<br />
|
||||||
<x:LinkButton ID="LinkButton3" Text="服务器端事件" OnClick="LinkButton3_Click" runat="server">
|
<f:LinkButton ID="LinkButton3" Text="服务器端事件" OnClick="LinkButton3_Click" runat="server">
|
||||||
</x:LinkButton>
|
</f:LinkButton>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:LinkButton ID="LinkButton1" Enabled="true" Text="客户端事件(在页面中定义)" EnablePostBack="false"
|
<f:LinkButton ID="LinkButton1" Enabled="false" Text="客户端事件(在页面中定义)" EnablePostBack="false"
|
||||||
OnClientClick="clickLinkButton();" runat="server">
|
OnClientClick="clickLinkButton();" runat="server">
|
||||||
</x:LinkButton>
|
</f:LinkButton>
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="btnChangeEnable" Text="启用/禁用最后一个链接按钮" runat="server" OnClick="btnChangeEnable_Click" />
|
<f:Button ID="btnChangeEnable" Text="启用/禁用最后一个链接按钮" runat="server" OnClick="btnChangeEnable_Click" />
|
||||||
</form>
|
</form>
|
||||||
<script>
|
<script>
|
||||||
function clickLinkButton() {
|
function clickLinkButton() {
|
||||||
top.X.alert("定义在页面中的客户端事件!");
|
top.F.alert("定义在页面中的客户端事件!");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
@ -4,33 +4,33 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:Button ID="btnMenu" Text="中国科学技术大学" EnablePostBack="false" runat="server">
|
<f:Button ID="btnMenu" Text="中国科学技术大学" EnablePostBack="false" runat="server">
|
||||||
<Menu runat="server">
|
<Menu runat="server">
|
||||||
<x:MenuHyperLink runat="server" Icon="TagGreen" Target="_blank" NavigateUrl="http://scms.ustc.edu.cn/"
|
<f:MenuHyperLink runat="server" Icon="TagGreen" Target="_blank" NavigateUrl="http://scms.ustc.edu.cn/"
|
||||||
Text="化学与材料科学学院">
|
Text="化学与材料科学学院">
|
||||||
</x:MenuHyperLink>
|
</f:MenuHyperLink>
|
||||||
<x:MenuHyperLink runat="server" Icon="TagBlue" Target="_blank" NavigateUrl="http://business.ustc.edu.cn/zh_CN/"
|
<f:MenuHyperLink runat="server" Icon="TagBlue" Target="_blank" NavigateUrl="http://business.ustc.edu.cn/zh_CN/"
|
||||||
Text="管理学院">
|
Text="管理学院">
|
||||||
<Menu runat="server">
|
<Menu runat="server">
|
||||||
<x:MenuHyperLink runat="server" Icon="TagPink" Target="_blank" NavigateUrl="http://is.ustc.edu.cn/"
|
<f:MenuHyperLink runat="server" Icon="TagPink" Target="_blank" NavigateUrl="http://is.ustc.edu.cn/"
|
||||||
Text="工商管理系">
|
Text="工商管理系">
|
||||||
</x:MenuHyperLink>
|
</f:MenuHyperLink>
|
||||||
<x:MenuHyperLink runat="server" Icon="TagPurple" Target="_blank" NavigateUrl="http://stat.ustc.edu.cn/"
|
<f:MenuHyperLink runat="server" Icon="TagPurple" Target="_blank" NavigateUrl="http://stat.ustc.edu.cn/"
|
||||||
Text="统计与金融系">
|
Text="统计与金融系">
|
||||||
</x:MenuHyperLink>
|
</f:MenuHyperLink>
|
||||||
</Menu>
|
</Menu>
|
||||||
</x:MenuHyperLink>
|
</f:MenuHyperLink>
|
||||||
</Menu>
|
</Menu>
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<x:Button ID="Button1" Text="中国科学技术大学(动态创建下拉菜单)" EnablePostBack="false" runat="server">
|
<f:Button ID="Button1" Text="中国科学技术大学(动态创建下拉菜单)" EnablePostBack="false" runat="server">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
</form>
|
</form>
|
||||||
|
38
FineUI.Examples/button/button_menu_menuid.aspx
Normal file
38
FineUI.Examples/button/button_menu_menuid.aspx
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="button_menu_menuid.aspx.cs" Inherits="FineUI.Examples.button.button_menu_menuid" %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head runat="server">
|
||||||
|
<title></title>
|
||||||
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
|
<f:Button ID="btnMenu" Text="中国科学技术大学" EnablePostBack="false" runat="server" MenuID="Menu1">
|
||||||
|
</f:Button>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<f:Button ID="Button1" Text="中国科学技术大学(和上一个按钮共享同一个菜单)" EnablePostBack="false" MenuID="Menu1" runat="server">
|
||||||
|
</f:Button>
|
||||||
|
<f:Menu ID="Menu1" runat="server">
|
||||||
|
<f:MenuHyperLink ID="MenuHyperLink1" runat="server" Icon="TagGreen" Target="_blank" NavigateUrl="http://scms.ustc.edu.cn/"
|
||||||
|
Text="化学与材料科学学院">
|
||||||
|
</f:MenuHyperLink>
|
||||||
|
<f:MenuHyperLink ID="MenuHyperLink2" runat="server" Icon="TagBlue" Target="_blank" NavigateUrl="http://business.ustc.edu.cn/zh_CN/"
|
||||||
|
Text="管理学院">
|
||||||
|
<Menu ID="Menu2" runat="server">
|
||||||
|
<f:MenuHyperLink ID="MenuHyperLink3" runat="server" Icon="TagPink" Target="_blank" NavigateUrl="http://is.ustc.edu.cn/"
|
||||||
|
Text="工商管理系">
|
||||||
|
</f:MenuHyperLink>
|
||||||
|
<f:MenuHyperLink ID="MenuHyperLink4" runat="server" Icon="TagPurple" Target="_blank" NavigateUrl="http://stat.ustc.edu.cn/"
|
||||||
|
Text="统计与金融系">
|
||||||
|
</f:MenuHyperLink>
|
||||||
|
</Menu>
|
||||||
|
</f:MenuHyperLink>
|
||||||
|
</f:Menu>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
22
FineUI.Examples/button/button_menu_menuid.aspx.cs
Normal file
22
FineUI.Examples/button/button_menu_menuid.aspx.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
|
||||||
|
namespace FineUI.Examples.button
|
||||||
|
{
|
||||||
|
public partial class button_menu_menuid : PageBase
|
||||||
|
{
|
||||||
|
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
96
FineUI.Examples/button/button_menu_menuid.aspx.designer.cs
generated
Normal file
96
FineUI.Examples/button/button_menu_menuid.aspx.designer.cs
generated
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUI.Examples.button {
|
||||||
|
|
||||||
|
|
||||||
|
public partial class button_menu_menuid {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// form1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PageManager1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.PageManager PageManager1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnMenu 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnMenu;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Button1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button Button1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Menu1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Menu Menu1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// MenuHyperLink1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.MenuHyperLink MenuHyperLink1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// MenuHyperLink2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.MenuHyperLink MenuHyperLink2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// MenuHyperLink3 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.MenuHyperLink MenuHyperLink3;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// MenuHyperLink4 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.MenuHyperLink MenuHyperLink4;
|
||||||
|
}
|
||||||
|
}
|
@ -1,46 +1,48 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<Tree>
|
<Tree>
|
||||||
<TreeNode Text="配置信息">
|
|
||||||
<TreeNode Text="发布历史" NavigateUrl="http://fineui.com/version/index.html?from=demo">
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="版本发布周期" NavigateUrl="~/config/release_time_chart.htm" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="配置 Web.config" NavigateUrl="~/config/modify_webconfig.htm" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="内置图标" NavigateUrl="~/config/icons.htm" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="安装工具箱" NavigateUrl="~/config/install_toolbox.htm" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="IIS6中启用GZIP压缩" NavigateUrl="~/config/enable_gzip_iis6.htm" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="AJAX 属性列表" NavigateUrl="~/config/ajax.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="基本用法">
|
<TreeNode Text="基本用法">
|
||||||
|
<TreeNode Text="配置信息">
|
||||||
|
<TreeNode Text="发布历史" NavigateUrl="http://fineui.com/version/index.html?from=demo">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="配置 Web.config" NavigateUrl="~/config/modify_webconfig.htm" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="图标列表" NavigateUrl="~/config/icons.htm" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="安装工具箱" NavigateUrl="~/config/install_toolbox.htm" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="IIS6中启用GZIP压缩" NavigateUrl="~/config/enable_gzip_iis6.htm" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="AJAX 属性列表" NavigateUrl="~/config/ajax.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
<TreeNode Text="你好 FineUI" NavigateUrl="~/basic/hello.aspx" >
|
<TreeNode Text="你好 FineUI" NavigateUrl="~/basic/hello.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="你好 AspNet" NavigateUrl="~/basic/hello_aspnet.aspx">
|
<TreeNode Text="你好 AspNet" NavigateUrl="~/basic/hello_aspnet.aspx">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="登录页面" NavigateUrl="~/basic/login.aspx" >
|
<TreeNode Text="登录页面" NavigateUrl="~/basic/login.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
|
<TreeNode Text="登录页面(回车导航)" NavigateUrl="~/basic/login_enterkey.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
<TreeNode Text="登录页面(验证码)" NavigateUrl="~/basic/login_captcha.aspx" >
|
<TreeNode Text="登录页面(验证码)" NavigateUrl="~/basic/login_captcha.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="按钮控件">
|
|
||||||
<TreeNode Text="简单按钮" NavigateUrl="~/button/button.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="按钮图标" NavigateUrl="~/button/button_icon.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="按钮的点击事件" NavigateUrl="~/button/button_click.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="链接按钮" NavigateUrl="~/button/button_linkbutton.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="菜单按钮" NavigateUrl="~/button/button_menu.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="自定义按钮" NavigateUrl="~/button/button_custom.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="表单控件">
|
<TreeNode Text="表单控件">
|
||||||
|
<TreeNode Text="按钮控件" >
|
||||||
|
<TreeNode Text="简单按钮" NavigateUrl="~/button/button.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="按钮图标" NavigateUrl="~/button/button_icon.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="按钮的点击事件" NavigateUrl="~/button/button_click.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="链接按钮" NavigateUrl="~/button/button_linkbutton.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="菜单按钮" NavigateUrl="~/button/button_menu.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="菜单按钮(MenuID属性)" NavigateUrl="~/button/button_menu_menuid.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="自定义按钮" NavigateUrl="~/button/button_custom.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
<TreeNode Text="基本元素">
|
<TreeNode Text="基本元素">
|
||||||
<TreeNode Text="文本标签" NavigateUrl="~/form/label.aspx" >
|
<TreeNode Text="文本标签" NavigateUrl="~/form/label.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
@ -84,11 +86,11 @@
|
|||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="更新复选框列表" NavigateUrl="~/form/checkboxlist_update.aspx" >
|
<TreeNode Text="更新复选框列表" NavigateUrl="~/form/checkboxlist_update.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="单选按钮" NavigateUrl="~/form/radiobutton.aspx" >
|
<TreeNode Text="单选框" NavigateUrl="~/form/radiobutton.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="单选按钮列表" NavigateUrl="~/form/radiobuttonlist.aspx" >
|
<TreeNode Text="单选框列表" NavigateUrl="~/form/radiobuttonlist.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="更新单选按钮列表" NavigateUrl="~/form/radiobuttonlist_update.aspx" >
|
<TreeNode Text="更新单选框列表" NavigateUrl="~/form/radiobuttonlist_update.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="表单验证">
|
<TreeNode Text="表单验证">
|
||||||
@ -114,38 +116,54 @@
|
|||||||
<TreeNode Text="表单布局">
|
<TreeNode Text="表单布局">
|
||||||
<TreeNode Text="按钮与表单" NavigateUrl="~/form/layout_panel.aspx" >
|
<TreeNode Text="按钮与表单" NavigateUrl="~/form/layout_panel.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="自定义SimpleForm布局" NavigateUrl="~/form/layout_panel2.aspx" >
|
<TreeNode Text="自定义表单布局" NavigateUrl="~/form/layout_panel2.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="复杂布局(联系我们)" NavigateUrl="~/form/layout_contactus.aspx" IsNew="true" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="复杂布局(账单信息)" NavigateUrl="~/form/layout_checkout.aspx" IsNew="true" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="其他">
|
<TreeNode Text="下拉列表控件">
|
||||||
|
<TreeNode Text="简单下拉列表" NavigateUrl="~/dropdownlist/dropdownlist.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<!--<TreeNode Text="下拉列表(选项值可为空)" NavigateUrl="~/dropdownlist/dropdownlist_emptyvalue.aspx" >
|
||||||
|
</TreeNode>-->
|
||||||
|
<TreeNode Text="下拉列表(可过滤,强制选择)" NavigateUrl="~/dropdownlist/dropdownlist_enableedit.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="下拉列表(不强制选择)" NavigateUrl="~/dropdownlist/dropdownlist_forceselection.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="模拟树的下拉列表" NavigateUrl="~/dropdownlist/dropdownlist_simulate_tree.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="中国省市县联动" NavigateUrl="~/dropdownlist/shengshixian.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="下拉列表(MatchFieldWidth)" NavigateUrl="~/dropdownlist/dropdownlist_matchfieldwidth.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="数据绑定">
|
||||||
|
<TreeNode Text="绑定到简单列表" NavigateUrl="~/dropdownlist/databind/dropdownlist_simplelist.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="绑定到复合列表" NavigateUrl="~/dropdownlist/databind/dropdownlist_compositelist.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="绑定到 DataTable" NavigateUrl="~/dropdownlist/databind/dropdownlist_datatable.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="多选下拉列表">
|
||||||
|
<TreeNode Text="多选" NavigateUrl="~/dropdownlist/multiselect.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="多选(可过滤,强制选择)" NavigateUrl="~/dropdownlist/multiselect_enableedit.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="下拉列表(自动回发)" NavigateUrl="~/dropdownlist/multiselect_autopostback.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="杂项">
|
||||||
<TreeNode Text="重置表单" NavigateUrl="~/form/form_reset.aspx" >
|
<TreeNode Text="重置表单" NavigateUrl="~/form/form_reset.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="隐藏表单字段" NavigateUrl="~/form/form_hide_field.aspx" >
|
<TreeNode Text="隐藏表单字段" NavigateUrl="~/form/form_hide_field.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="按钮水平居中" NavigateUrl="~/form/form_center_button.aspx" >
|
<TreeNode Text="按钮水平居中" NavigateUrl="~/form/form_center_button.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
<TreeNode Text="禁用与只读" NavigateUrl="~/form/form_disabled.aspx" IsNew="true" >
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="下拉列表控件">
|
|
||||||
<TreeNode Text="简单下拉列表" NavigateUrl="~/dropdownlist/dropdownlist.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="下拉列表(选项值可为空)" NavigateUrl="~/dropdownlist/dropdownlist_emptyvalue.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="下拉列表(可过滤,强制选择)" NavigateUrl="~/dropdownlist/dropdownlist_enableedit.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="下拉列表(不强制选择)" NavigateUrl="~/dropdownlist/dropdownlist_forceselection.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="数据绑定">
|
|
||||||
<TreeNode Text="绑定到简单列表" NavigateUrl="~/dropdownlist/databind/dropdownlist_simplelist.aspx" >
|
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="绑定到复合列表" NavigateUrl="~/dropdownlist/databind/dropdownlist_compositelist.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="绑定到 DataTable" NavigateUrl="~/dropdownlist/databind/dropdownlist_datatable.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="模拟树的下拉列表" NavigateUrl="~/dropdownlist/dropdownlist_simulate_tree.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="中国省市县联动" NavigateUrl="~/dropdownlist/shengshixian.aspx" >
|
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="表格控件">
|
<TreeNode Text="表格控件">
|
||||||
@ -168,32 +186,36 @@
|
|||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="数据库分页(跨页保持选中行)" NavigateUrl="~/grid/grid_paging_database_selection.aspx" >
|
<TreeNode Text="数据库分页(跨页保持选中行)" NavigateUrl="~/grid/grid_paging_database_selection.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
|
<TreeNode Text="数据库分页(底部工具栏)" NavigateUrl="~/grid/grid_paging_database_bbar.aspx" IsNew="true" >
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="序号列">
|
<TreeNode Text="序号列">
|
||||||
<TreeNode Text="序号列与内存分页" NavigateUrl="~/grid/grid_rownumber_paging.aspx" >
|
<TreeNode Text="序号列(内存分页)" NavigateUrl="~/grid/grid_rownumber_paging.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="序号列与数据库分页" NavigateUrl="~/grid/grid_rownumber_paging_database.aspx" >
|
<TreeNode Text="序号列(数据库分页)" NavigateUrl="~/grid/grid_rownumber_paging_database.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="序号列的宽度" NavigateUrl="~/grid/grid_rownumber_width.aspx" >
|
<TreeNode Text="序号列(自定义宽度)" NavigateUrl="~/grid/grid_rownumber_width.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="序号列(靠左显示)" NavigateUrl="~/grid/grid_rownumber_align.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="行选择">
|
||||||
|
<TreeNode Text="行选择(多选)" NavigateUrl="~/grid/grid_checkall.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="行选择(单选)" NavigateUrl="~/grid/grid_checkall_singleselect.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="行选择(只能通过全选框选中行)" NavigateUrl="~/grid/grid_checkall_only.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="扩展列">
|
<TreeNode Text="扩展列">
|
||||||
<TreeNode Text="复选列" NavigateUrl="~/grid/grid_checkall.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="复选列(只能通过复选框选中行)" NavigateUrl="~/grid/grid_checkall_only.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="行扩展列" NavigateUrl="~/grid/grid_rowexpander.aspx" >
|
<TreeNode Text="行扩展列" NavigateUrl="~/grid/grid_rowexpander.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="行扩展列(展开全部扩展列)" NavigateUrl="~/grid/grid_rowexpander_expandall.aspx" >
|
<TreeNode Text="行扩展列(展开全部)" NavigateUrl="~/grid/grid_rowexpander_expandall.aspx" >
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="行扩展列(ExpandAllRowExpanders)" NavigateUrl="~/grid/grid_rowexpander_expandall2.aspx" >
|
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="弹出窗体列" NavigateUrl="~/grid/grid_iframe.aspx" >
|
<TreeNode Text="弹出窗体列" NavigateUrl="~/grid/grid_iframe.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="模拟树列" NavigateUrl="~/grid/grid_simulate_tree.aspx" >
|
<TreeNode Text="模拟树列" NavigateUrl="~/grid/grid_simulate_tree.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="模拟树列 (内存分页)" NavigateUrl="~/grid/grid_simulate_tree_paging.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="模拟树列(数据库分页)" NavigateUrl="~/grid/grid_simulate_tree_database_paging.aspx" >
|
<TreeNode Text="模拟树列(数据库分页)" NavigateUrl="~/grid/grid_simulate_tree_database_paging.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="模拟树列(数据库分页,下拉列表定位省份)" NavigateUrl="~/grid/grid_simulate_tree_database_paging_dropdownlist.aspx" >
|
<TreeNode Text="模拟树列(数据库分页,下拉列表定位省份)" NavigateUrl="~/grid/grid_simulate_tree_database_paging_dropdownlist.aspx" >
|
||||||
@ -202,10 +224,16 @@
|
|||||||
<TreeNode Text="事件">
|
<TreeNode Text="事件">
|
||||||
<TreeNode Text="行内按钮事件" NavigateUrl="~/grid/grid_rowcommand.aspx" >
|
<TreeNode Text="行内按钮事件" NavigateUrl="~/grid/grid_rowcommand.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
|
<TreeNode Text="行内按钮事件(内存分页)" NavigateUrl="~/grid/grid_rowcommand_paging.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="行内按钮事件(数据库分页)" NavigateUrl="~/grid/grid_rowcommand_paging_database.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
<TreeNode Text="行绑定事件" NavigateUrl="~/grid/grid_rowdatabound.aspx" >
|
<TreeNode Text="行绑定事件" NavigateUrl="~/grid/grid_rowdatabound.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="行预绑定事件" NavigateUrl="~/grid/grid_prerowdatabound.aspx" >
|
<TreeNode Text="行预绑定事件" NavigateUrl="~/grid/grid_prerowdatabound.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
|
<TreeNode Text="行预绑定事件(Cancelled属性)" IsNew="true" NavigateUrl="~/grid/grid_prerowdatabound_cancelled.aspx" >
|
||||||
|
</TreeNode>
|
||||||
<TreeNode Text="行单击回发事件" NavigateUrl="~/grid/grid_rowclick.aspx">
|
<TreeNode Text="行单击回发事件" NavigateUrl="~/grid/grid_rowclick.aspx">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="行双击回发事件" NavigateUrl="~/grid/grid_rowdoubleclick.aspx">
|
<TreeNode Text="行双击回发事件" NavigateUrl="~/grid/grid_rowdoubleclick.aspx">
|
||||||
@ -218,7 +246,55 @@
|
|||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="复选框列(自动回发)" NavigateUrl="~/grid/grid_checkboxfield_autopostback.aspx" >
|
<TreeNode Text="复选框列(自动回发)" NavigateUrl="~/grid/grid_checkboxfield_autopostback.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="全选行复选框" NavigateUrl="~/grid/grid_checkboxfield_rowcheckall.aspx" >
|
<TreeNode Text="全选复选框列" NavigateUrl="~/grid/grid_checkboxfield_rowcheckall.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="全选复选框列(客户端实现)" NavigateUrl="~/grid/grid_checkboxfield_rowcheckall_clientside.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="动态创建列">
|
||||||
|
<TreeNode Text="动态创建的列" NavigateUrl="~/grid/grid_dynamic_columns.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="动态创建的模板列" NavigateUrl="~/grid/grid_dynamic_columns2.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="导出与下载">
|
||||||
|
<TreeNode Text="导出文件(ASP.NET的GridView控件)" NavigateUrl="~/grid/grid_excel_aspnet.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="导出文件(RenderControl,重新渲染模板列)" NavigateUrl="~/grid/grid_excel.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="导出文件(动态创建的模版列)" NavigateUrl="~/grid/grid_excel_dynamic_columns.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="导出文件(选择需要导出的列)" NavigateUrl="~/grid/grid_excel_selectcolumns.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="导出文件(FindControl,查找模板列中控件)" NavigateUrl="~/grid/grid_excel_findcontrol.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="导出文件(多表头)" NavigateUrl="~/grid/grid_excel_groupfield.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="行内下载" NavigateUrl="~/grid/grid_rowcommand_download.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="分页工具栏">
|
||||||
|
<TreeNode Text="重新绑定数据" NavigateUrl="~/grid/grid_pageitems.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="显示隐藏行扩展列" NavigateUrl="~/grid/grid_pageitems_rowexpander.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="改变每页记录数" NavigateUrl="~/grid/grid_pageitems_pagesize.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="改变每页记录数(数据库分页)" NavigateUrl="~/grid/grid_pageitems_pagesize_database.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="列宽度">
|
||||||
|
<TreeNode Text="固定各列宽度" NavigateUrl="~/grid/grid_width.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="自适应列" NavigateUrl="~/grid/grid_width_expandunusedspace.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="列宽度自适应" NavigateUrl="~/grid/grid_width_forcefit.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="标题栏菜单">
|
||||||
|
<TreeNode Text="显示隐藏列" NavigateUrl="~/grid/grid_hdmenu_hidecolumn.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="排序" NavigateUrl="~/grid/grid_hdmenu_sorting.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="模板列">
|
<TreeNode Text="模板列">
|
||||||
@ -238,87 +314,83 @@
|
|||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="下拉列表同步到文本框" NavigateUrl="~/grid/grid_edit_dropdownlist_textbox.aspx" >
|
<TreeNode Text="下拉列表同步到文本框" NavigateUrl="~/grid/grid_edit_dropdownlist_textbox.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="自动保存用户输入的值" NavigateUrl="~/grid/grid_edit_save_auto.aspx" >
|
<TreeNode Text="定时保存用户输入的值" NavigateUrl="~/grid/grid_edit_save_auto.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="手动保存用户输入的值" NavigateUrl="~/grid/grid_edit_save_manual.aspx" >
|
<TreeNode Text="遍历表格内所有输入框(纵向)" NavigateUrl="~/grid/grid_edit_enterkey_v.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="遍历表格内所有输入框(横向)" NavigateUrl="~/grid/grid_edit_enterkey_h.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="购物车" NavigateUrl="~/grid/grid_edit_cart.aspx" IsNew="true" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="多表头">
|
<TreeNode Text="多表头">
|
||||||
<TreeNode Text="多表头" NavigateUrl="~/grid/grid_groupheader.aspx" >
|
<TreeNode Text="多表头" NavigateUrl="~/grid/grid_groupheader.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="多表头与排序" NavigateUrl="~/grid/grid_groupheader_sort.aspx" >
|
<TreeNode Text="多表头(排序)" NavigateUrl="~/grid/grid_groupheader_sort.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="多表头与标题栏菜单排序" NavigateUrl="~/grid/grid_groupheader_sort_hdmenu.aspx" >
|
<TreeNode Text="多表头(初始隐藏列)" NavigateUrl="~/grid/grid_groupheader_hidden.aspx" >
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="动态创建列">
|
|
||||||
<TreeNode Text="动态创建的列" NavigateUrl="~/grid/grid_dynamic_columns.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="动态创建的模板列" NavigateUrl="~/grid/grid_dynamic_columns2.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="导出Excel文件">
|
|
||||||
<TreeNode Text="GridView导出为Excel文件" NavigateUrl="~/grid/grid_excel_aspnet.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="Grid导出为Excel文件" NavigateUrl="~/grid/grid_excel.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="分页工具条">
|
|
||||||
<TreeNode Text="重新绑定数据" NavigateUrl="~/grid/grid_pageitems.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="显示隐藏行扩展列" NavigateUrl="~/grid/grid_pageitems_rowexpander.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="改变每页记录数" NavigateUrl="~/grid/grid_pageitems_pagesize.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="改变每页记录数(数据库分页)" NavigateUrl="~/grid/grid_pageitems_pagesize_database.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="列宽度">
|
|
||||||
<TreeNode Text="固定各列宽度" NavigateUrl="~/grid/grid_width.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="自适应列" NavigateUrl="~/grid/grid_width_expandunusedspace.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="列宽度自适应" NavigateUrl="~/grid/grid_width_forcefitalltime.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<!--<TreeNode Text="列宽度自适应(仅第一次加载)" NavigateUrl="~/grid/grid_width_forcefitfirsttime.aspx" >
|
|
||||||
</TreeNode>-->
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="标题栏菜单">
|
|
||||||
<TreeNode Text="显示隐藏列" NavigateUrl="~/grid/grid_hdmenu_hidecolumn.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="排序" NavigateUrl="~/grid/grid_hdmenu_sorting.aspx" >
|
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="合计行">
|
<TreeNode Text="合计行">
|
||||||
<TreeNode Text="客户端分页合计" NavigateUrl="~/grid/grid_summary.aspx" >
|
<TreeNode Text="合计行" NavigateUrl="~/grid/grid_summary.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="服务器端全部合计" NavigateUrl="~/grid/grid_summary_serverside.aspx" >
|
<TreeNode Text="合计行(纵向+横向滚动条)" NavigateUrl="~/grid/grid_summary_scrollbar_flow.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="服务器端分页合计" NavigateUrl="~/grid/grid_summary_serverside_paged.aspx" >
|
<TreeNode Text="合计行(浮动到底部、纵向+横向滚动条)" NavigateUrl="~/grid/grid_summary_scrollbar.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<!--<TreeNode Text="服务器端全部合计(绝对定位)" NavigateUrl="~/grid/grid_summary_absolute.aspx" >
|
<TreeNode Text="合计行(浮动到顶部、当前页合计)" NavigateUrl="~/grid/grid_summary_currentpage.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="单元格编辑">
|
||||||
|
<TreeNode Text="基本功能" NavigateUrl="~/grid/grid_editor_cell.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="客户端单元格渲染" NavigateUrl="~/grid/grid_editor_cell_renderfunction.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="后台绑定下拉列表" NavigateUrl="~/grid/grid_editor_cell_databind.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="服务器端删除行" NavigateUrl="~/grid/grid_editor_cell_delete.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="新增行" NavigateUrl="~/grid/grid_editor_cell_new.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="新增行与删除行" NavigateUrl="~/grid/grid_editor_cell_new_delete.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="失去焦点事件" NavigateUrl="~/grid/grid_editor_cell_afteredit.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="行扩展列与单元格编辑" IsNew="true" NavigateUrl="~/grid/grid_editor_cell_afteredit_rowexpander.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="行扩展列与新增删除行" IsNew="true" NavigateUrl="~/grid/grid_editor_cell_new_delete_rowexpander.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="列锁定">
|
||||||
|
<TreeNode Text="列锁定" NavigateUrl="~/grid/grid_lockcolumn.aspx" IsNew="true" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="列锁定与行扩展列" NavigateUrl="~/grid/grid_lockcolumn_rowexpander.aspx" IsNew="true" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="列锁定与多表头" NavigateUrl="~/grid/grid_lockcolumn_groupheader_sort.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="列锁定与合计行" NavigateUrl="~/grid/grid_lockcolumn_summary_scrollbar.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="列锁定与单元格编辑" NavigateUrl="~/grid/grid_lockcolumn_editor_cell_new.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="列锁定与自动换行" NavigateUrl="~/grid/grid_lockcolumn_line_wrap.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<!--<TreeNode Text="列锁定(多列,多行,行高不同)" NavigateUrl="~/grid/grid_lockcolumn_many_columns.aspx" >
|
||||||
</TreeNode>-->
|
</TreeNode>-->
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<!--<TreeNode Text="可编辑表格">
|
<TreeNode Text="行与列样式">
|
||||||
<TreeNode Text="可编辑单元格" NavigateUrl="~/grid/grid_editor_cell.aspx" >
|
<TreeNode Text="行样式" NavigateUrl="~/grid/grid_style_rowcolor.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="可编辑单元格(客户端获取下拉列表的值)" NavigateUrl="~/grid/grid_editor_cell_renderfunction.aspx" >
|
<TreeNode Text="行样式(数据库分页)" NavigateUrl="~/grid/grid_style_rowcolor_paging_database.aspx" IsNew="true" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="可编辑单元格(删除行)" NavigateUrl="~/grid/grid_editor_cell_delete.aspx" >
|
<TreeNode Text="行样式(内存分页)" NavigateUrl="~/grid/grid_style_rowcolor_paging.aspx" IsNew="true" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="可编辑单元格(新增行)" NavigateUrl="~/grid/grid_editor_cell_new.aspx" >
|
<TreeNode Text="列样式" NavigateUrl="~/grid/grid_style_columnclass.aspx" IsNew="true" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="可编辑单元格(新增行+删除行)" NavigateUrl="~/grid/grid_editor_cell_new_delete.aspx" >
|
</TreeNode>
|
||||||
</TreeNode>
|
<TreeNode Text="杂项">
|
||||||
<TreeNode Text="可编辑单元格(失去焦点事件)" NavigateUrl="~/grid/grid_editor_cell_afteredit.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>-->
|
|
||||||
<TreeNode Text="其他">
|
|
||||||
<TreeNode Text="主从表联动" NavigateUrl="~/grid/grid_twogrid.aspx" >
|
<TreeNode Text="主从表联动" NavigateUrl="~/grid/grid_twogrid.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="改变行背景色" NavigateUrl="~/grid/grid_rowcolor.aspx" >
|
<TreeNode Text="文本居中显示(标题靠左)" NavigateUrl="~/grid/grid_centercolumn.aspx" IsNew="true">
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="列文本的显示位置" NavigateUrl="~/grid/grid_centercolumn.aspx" >
|
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="显示隐藏列" NavigateUrl="~/grid/grid_hidecolumn.aspx" >
|
<TreeNode Text="显示隐藏列" NavigateUrl="~/grid/grid_hidecolumn.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
@ -334,6 +406,10 @@
|
|||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="自动换行" NavigateUrl="~/grid/grid_line_wrap.aspx" >
|
<TreeNode Text="自动换行" NavigateUrl="~/grid/grid_line_wrap.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
|
<TreeNode Text="右键菜单(全选复选框列)" NavigateUrl="~/grid/grid_checkboxfield_rowcheckall_contextmenu.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="隐藏表格标题栏" NavigateUrl="~/grid/grid_hide_gridheader.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="树控件">
|
<TreeNode Text="树控件">
|
||||||
@ -364,58 +440,110 @@
|
|||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="选中多行" NavigateUrl="~/tree/select/tree_multi_select.aspx" >
|
<TreeNode Text="选中多行" NavigateUrl="~/tree/select/tree_multi_select.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="选中行的回发事件" NavigateUrl="~/tree/select/tree_nodecommand.aspx" >
|
</TreeNode>
|
||||||
|
<TreeNode Text="事件">
|
||||||
|
<TreeNode Text="选中行事件" NavigateUrl="~/tree/select/tree_nodecommand.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="展开折叠事件" NavigateUrl="~/tree/tree_expand.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="节点绑定事件" NavigateUrl="~/tree/tree_nodedatabound.aspx" IsNew="true">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="选项卡控件">
|
<TreeNode Text="其他控件">
|
||||||
<TreeNode Text="基本用法" NavigateUrl="~/tabstrip/tabstrip.aspx" >
|
<TreeNode Text="选项卡控件">
|
||||||
|
<TreeNode Text="基本用法" NavigateUrl="~/tabstrip/tabstrip.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="自动回发" NavigateUrl="~/tabstrip/tabstrip_autopostback.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="关闭按钮" NavigateUrl="~/tabstrip/tabstrip_enableclose.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="动态添加标签" NavigateUrl="~/tabstrip/tabstrip_addtab.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="内嵌 IFrame" NavigateUrl="~/tabstrip/tabstrip_iframe.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="内嵌 IFrame(在IFrame内启用标签)" NavigateUrl="~/tabstrip/tabstrip_iframe_disabled.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="选项卡的位置" NavigateUrl="~/tabstrip/tabstrip_position.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="自动回发" NavigateUrl="~/tabstrip/tabstrip_autopostback.aspx" >
|
<TreeNode Text="手风琴控件">
|
||||||
|
<TreeNode Text="基本用法" NavigateUrl="~/accordion/accordion.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="自动回发" NavigateUrl="~/accordion/accordion_autopostback.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="手风琴+树控件" NavigateUrl="~/accordion/accordion_tree.aspx" >
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="关闭按钮" NavigateUrl="~/tabstrip/tabstrip_enableclose.aspx" >
|
<TreeNode Text="面板与窗体">
|
||||||
|
<TreeNode Text="面板" NavigateUrl="~/window/panel.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="分组面板" NavigateUrl="~/window/group_panel.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="面板的折叠事件" NavigateUrl="~/window/panel_collapse.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="窗体" NavigateUrl="~/window/window.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="窗体与工具栏" NavigateUrl="~/window/window_toolbar.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="窗体与表单" NavigateUrl="~/window/window_form.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="同时打开多个窗体" NavigateUrl="~/window/window_multi.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="动态添加标签" NavigateUrl="~/tabstrip/tabstrip_addtab.aspx" >
|
<TreeNode Text="工具栏和菜单">
|
||||||
|
<TreeNode Text="内联菜单" NavigateUrl="~/toolbar/menu.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="内联菜单(HideOnClick)" NavigateUrl="~/toolbar/menu_hideonclick.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="动态添加工具栏菜单" NavigateUrl="~/toolbar/menu_dynamic.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="向工具栏中动态添加按钮" NavigateUrl="~/toolbar/menu_dynamic2.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="工具栏与IFrame页面" NavigateUrl="~/toolbar/toolbar_iframe.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="单选框与复选框菜单" NavigateUrl="~/toolbar/menucheckbox.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="多行工具栏" NavigateUrl="~/toolbar/multi_toolbars.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="工具栏上的图片(固定宽度)" NavigateUrl="~/toolbar/toolbar_images_fixedwidth.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="工具栏上的图片(动态调整)" NavigateUrl="~/toolbar/toolbar_images.aspx" IsNew="true">
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="内嵌 IFrame" NavigateUrl="~/tabstrip/tabstrip_iframe.aspx" >
|
<TreeNode Text="用户控件">
|
||||||
|
<TreeNode Text="用户控件" NavigateUrl="~/usercontrol/userinfo.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="动态添加用户控件" NavigateUrl="~/usercontrol/userinfo_dynamic.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="用户控件与布局" NavigateUrl="~/usercontrol/userinfo2.aspx" >
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="内嵌 IFrame(在IFrame内启用标签)" NavigateUrl="~/tabstrip/tabstrip_iframe_disabled.aspx" >
|
<TreeNode Text="母版页">
|
||||||
</TreeNode>
|
<TreeNode Text="树(布局)" NavigateUrl="~/master/simple.aspx" IsNew="true">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="手风琴控件">
|
<TreeNode Text="表格(布局、接口与动态加载)" NavigateUrl="~/master/list.aspx" IsNew="true">
|
||||||
<TreeNode Text="基本用法" NavigateUrl="~/accordion/accordion.aspx" >
|
</TreeNode>
|
||||||
</TreeNode>
|
<TreeNode Text="表格与表单(布局、接口与动态加载)" NavigateUrl="~/master/formlist.aspx" IsNew="true">
|
||||||
<!--<TreeNode Text="Links" NavigateUrl="~/accordion/accordion_links.aspx" >
|
</TreeNode>
|
||||||
</TreeNode>-->
|
|
||||||
<TreeNode Text="手风琴+树控件" NavigateUrl="~/accordion/accordion_tree.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="面板与窗体">
|
|
||||||
<TreeNode Text="面板" NavigateUrl="~/window/panel.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="分组面板" NavigateUrl="~/window/group_panel.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="窗体" NavigateUrl="~/window/window.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="窗体与工具栏" NavigateUrl="~/window/window_toolbar.aspx" >
|
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="页面布局">
|
<TreeNode Text="页面布局">
|
||||||
<TreeNode Text="布局 - Fit" NavigateUrl="~/layout/fit.aspx" >
|
<TreeNode Text="布局(Fit)" NavigateUrl="~/layout/fit.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="布局 - Anchor" NavigateUrl="~/layout/anchor.aspx" >
|
<TreeNode Text="布局(Anchor)" NavigateUrl="~/layout/anchor.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="布局 - Column" NavigateUrl="~/layout/column.aspx" >
|
<TreeNode Text="布局(Column)" NavigateUrl="~/layout/column.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="布局 - Row" NavigateUrl="~/layout/row.aspx" >
|
<TreeNode Text="布局(Absolute)" NavigateUrl="~/layout/absolute.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="布局 - Absolute" NavigateUrl="~/layout/absolute.aspx" >
|
<TreeNode Text="布局(Table)" NavigateUrl="~/layout/table.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="布局 - Table" NavigateUrl="~/layout/table.aspx" >
|
<TreeNode Text="布局(HBox)" NavigateUrl="~/layout/hbox.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="布局 - HBox" NavigateUrl="~/layout/hbox.aspx" >
|
<TreeNode Text="布局(VBox)" NavigateUrl="~/layout/vbox.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="布局 - VBox" NavigateUrl="~/layout/vbox.aspx" >
|
<TreeNode Text="布局(Region)" NavigateUrl="~/layout/region.aspx" IsNew="true" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="内联框架">
|
<TreeNode Text="内联框架">
|
||||||
@ -425,97 +553,101 @@
|
|||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="子窗口向父窗口传值" NavigateUrl="~/iframe/passvalue_iframe.aspx" >
|
<TreeNode Text="子窗口向父窗口传值" NavigateUrl="~/iframe/passvalue_iframe.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="新窗口中选择省份一" NavigateUrl="~/iframe/selectprovince1.aspx" >
|
<TreeNode Text="新窗口中选择省份(JavaScript实现)" NavigateUrl="~/iframe/selectprovince1.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="新窗口中选择省份二" NavigateUrl="~/iframe/selectprovince2.aspx" >
|
<TreeNode Text="新窗口中选择省份(GetHidePostBackReference)" NavigateUrl="~/iframe/selectprovince3.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="新窗口中选择省份三" NavigateUrl="~/iframe/selectprovince3.aspx" >
|
<TreeNode Text="新窗口中选择省份(GetHideExecuteScriptReference)" NavigateUrl="~/iframe/selectprovince_executescript.aspx" IsNew="true">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="触发器输入框(传值)" NavigateUrl="~/iframe/triggerbox_iframe.aspx" >
|
<TreeNode Text="触发器输入框(传值)" NavigateUrl="~/iframe/triggerbox_iframe.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="窗体中的窗体" NavigateUrl="~/iframe/iframe_iframe.aspx">
|
<TreeNode Text="窗体中的窗体" NavigateUrl="~/iframe/iframe_iframe.aspx">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="回发父页面" NavigateUrl="~/iframe/parent_postback_top.aspx" >
|
<TreeNode Text="回发父页面" NavigateUrl="~/iframe/parent_postback.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="回发父页面2" NavigateUrl="~/iframe/parent_postback.aspx" >
|
<TreeNode Text="回发父页面(改变属性或者注册脚本)" NavigateUrl="~/iframe/parent_postback_top.aspx" IsNew="true">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="顶部菜单框架(一)" NavigateUrl="~/iframe/topmenu/default.aspx" >
|
<TreeNode Text="顶部菜单框架(左侧树)" NavigateUrl="~/iframe/topmenu/default.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="顶部菜单框架(二)" NavigateUrl="~/iframe/topmenu2/default.aspx" >
|
<TreeNode Text="顶部菜单框架(左侧IFrame中的树)" NavigateUrl="~/iframe/topmenu2/default.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="顶部菜单框架(三)" NavigateUrl="~/iframe/topmenu3/default.aspx" >
|
<TreeNode Text="顶部菜单框架(左侧IFrame中的手风琴)" NavigateUrl="~/iframe/topmenu3/default.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="顶部菜单框架(右侧选项卡)" NavigateUrl="~/iframe/topmenu4/default.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="窗体关闭前的确认对话框" NavigateUrl="~/iframe/window.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="保存按钮放在窗体工具栏中" NavigateUrl="~/iframe/window2.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="ASP.NET控件">
|
<TreeNode Text="第三方组件">
|
||||||
<TreeNode Text="ASP.NET 控件" NavigateUrl="~/aspnet/aspnet.aspx" >
|
<TreeNode Text="My97日期控件">
|
||||||
</TreeNode>
|
<TreeNode Text="My97日期控件" NavigateUrl="~/third-party/my97/my97.aspx" >
|
||||||
<TreeNode Text="Label与Literal的区别" NavigateUrl="~/aspnet/aspnet_literal.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="FCKEditor控件">
|
|
||||||
<TreeNode Text="FCKEditor控件" NavigateUrl="~/aspnet/fckeditor.aspx" >
|
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="CKEditor控件">
|
<TreeNode Text="jQueryUI Autocomplete">
|
||||||
<TreeNode Text="CKEditor控件" NavigateUrl="~/aspnet/ckeditor.aspx" >
|
<TreeNode Text="内联数据" NavigateUrl="~/third-party/autocomplete/inline.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="内联数据(位于Window控件中)" NavigateUrl="~/third-party/autocomplete/inline_window.aspx" IsNew="true" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="自动补全邮件地址" NavigateUrl="~/third-party/autocomplete/email.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="多行显示补全数据" NavigateUrl="~/third-party/autocomplete/custom_display.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="输入逗号分隔的多个值" NavigateUrl="~/third-party/autocomplete/multi_values.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="输入多值(数据来自远程服务器)" NavigateUrl="~/third-party/autocomplete/multi_values_remote.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="客户端缓存(数据来自远程服务器)" NavigateUrl="~/third-party/autocomplete/remote_with_cache.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="UEditor控件">
|
<TreeNode Text="UMEditor">
|
||||||
<TreeNode Text="UEditor控件" NavigateUrl="~/aspnet/ueditor.aspx" >
|
<TreeNode Text="UMEditor" NavigateUrl="~/third-party/umeditor/umeditor.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="多个UEditor控件" NavigateUrl="~/aspnet/ueditor_two.aspx" >
|
</TreeNode>
|
||||||
|
<TreeNode Text="UEditor">
|
||||||
|
<TreeNode Text="UEditor" NavigateUrl="~/third-party/ueditor/ueditor.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="UEditor(两个编辑器)" NavigateUrl="~/third-party/ueditor/ueditor_two.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="CKEditor">
|
||||||
|
<TreeNode Text="CKEditor" NavigateUrl="~/third-party/ckeditor/ckeditor.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="TinyMCE">
|
||||||
|
<TreeNode Text="TinyMCE" NavigateUrl="~/third-party/tinymce/tinymce.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="用户控件">
|
<TreeNode Text="杂项">
|
||||||
<TreeNode Text="用户控件" NavigateUrl="~/usercontrol/userinfo.aspx" >
|
<TreeNode Text="ASP.NET控件">
|
||||||
|
<TreeNode Text="ASP.NET 控件" NavigateUrl="~/aspnet/aspnet.aspx" >
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="Label与Literal的区别" NavigateUrl="~/aspnet/aspnet_literal.aspx" >
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="动态添加用户控件" NavigateUrl="~/usercontrol/userinfo_dynamic.aspx" >
|
<TreeNode Text="消息框">
|
||||||
|
<TreeNode Text="响应确认对话框的按钮" NavigateUrl="~/other/confirm_cancel.aspx">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="响应确认对话框的按钮(推荐做法)" NavigateUrl="~/other/confirm_cancel2.aspx">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="自定义对话框图标" NavigateUrl="~/other/alert.aspx">
|
||||||
|
</TreeNode>
|
||||||
|
<TreeNode Text="页面回发提示" NavigateUrl="~/other/ajax_loading.aspx">
|
||||||
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="用户控件与布局" NavigateUrl="~/usercontrol/userinfo2.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="工具栏和菜单">
|
|
||||||
<TreeNode Text="内联菜单" NavigateUrl="~/toolbar/menu.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="动态添加工具栏菜单" NavigateUrl="~/toolbar/menu_dynamic.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="向工具栏中动态添加按钮" NavigateUrl="~/toolbar/menu_dynamic2.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="工具栏与IFrame页面" NavigateUrl="~/toolbar/toolbar_iframe.aspx">
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="单选框与复选框菜单" NavigateUrl="~/toolbar/menucheckbox.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="自动补全组件">
|
|
||||||
<TreeNode Text="内联数据" NavigateUrl="~/autocomplete/inline.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="自动补全邮件地址" NavigateUrl="~/autocomplete/email.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="多行显示补全数据" NavigateUrl="~/autocomplete/custom_display.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="输入逗号分隔的多个值" NavigateUrl="~/autocomplete/multi_values.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="输入多值(数据来自远程服务器)" NavigateUrl="~/autocomplete/multi_values_remote.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="客户端缓存(数据来自远程服务器)" NavigateUrl="~/autocomplete/remote_with_cache.aspx" >
|
|
||||||
</TreeNode>
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="其它">
|
|
||||||
<TreeNode Text="定时器" NavigateUrl="~/other/timer.aspx" >
|
<TreeNode Text="定时器" NavigateUrl="~/other/timer.aspx" >
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="自定义回发" NavigateUrl="~/other/custom_postback.aspx">
|
<TreeNode Text="自定义回发(__doPostBack)" NavigateUrl="~/other/custom_postback.aspx">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="确认对话框的取消按钮" NavigateUrl="~/other/confirm_cancel.aspx">
|
<TreeNode Text="自定义回发(F.customEvent)" NavigateUrl="~/other/custom_postback2.aspx">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="文本框的keypress事件" NavigateUrl="~/other/custom_postback.aspx">
|
<TreeNode Text="文本框改变客户端事件" NavigateUrl="~/other/keydown.aspx">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="CssClass属性" NavigateUrl="~/other/cssstyle.aspx">
|
<TreeNode Text="CssClass属性" NavigateUrl="~/other/cssstyle.aspx">
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
<TreeNode Text="向父页面添加选项卡" NavigateUrl="~/other/addtab.aspx">
|
<TreeNode Text="向父页面添加选项卡" NavigateUrl="~/other/addtab.aspx" IsNew="true">
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="Ajax提示信息" NavigateUrl="~/other/ajax_loading.aspx">
|
|
||||||
</TreeNode>
|
|
||||||
<TreeNode Text="自定义对话框图标" NavigateUrl="~/other/alert.aspx">
|
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</TreeNode>
|
</TreeNode>
|
||||||
</Tree>
|
</Tree>
|
@ -14,9 +14,9 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" AutoSizePanelID="TabStrip1" runat="server"></x:PageManager>
|
<f:PageManager ID="PageManager1" AutoSizePanelID="TabStrip1" runat="server"></f:PageManager>
|
||||||
<x:TabStrip ID="TabStrip1" ShowBorder="false" TabPosition="Left" runat="server">
|
<f:TabStrip ID="TabStrip1" ShowBorder="false" TabPosition="Top" runat="server">
|
||||||
</x:TabStrip>
|
</f:TabStrip>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -9,32 +9,6 @@ namespace FineUI.Examples
|
|||||||
{
|
{
|
||||||
public partial class source : PageBase
|
public partial class source : PageBase
|
||||||
{
|
{
|
||||||
private static Dictionary<string, string> SOURCE_FILES = new Dictionary<string, string>() {
|
|
||||||
{"grid/grid_iframe.aspx", "~/grid/grid_iframe_window.aspx"},
|
|
||||||
{"tree/databind/tree_document.aspx", "~/tree/databind/website.xml"},
|
|
||||||
{"tree/databind/tree_datasource.aspx", "~/tree/databind/website.xml"},
|
|
||||||
{"tree/databind/tree_sitemap.aspx", "~/tree/databind/Web.sitemap"},
|
|
||||||
{"aspnet/fileupload.aspx", "~/aspnet/fileupload_iframe.aspx"},
|
|
||||||
{"iframe/button_iframe.aspx", "~/grid/grid_iframe_window.aspx"},
|
|
||||||
{"iframe/grid_iframe.aspx", "~/grid/grid_iframe_window.aspx"},
|
|
||||||
{"iframe/iframe_iframe.aspx", "~/iframe/iframe_iframe_window1.aspx;~/iframe/iframe_iframe_window2.aspx"},
|
|
||||||
{"iframe/parent_postback.aspx", "~/iframe/parent_postback2.aspx;~/iframe/parent_postback3.aspx"},
|
|
||||||
{"iframe/parent_postback_top.aspx", "~/iframe/parent_postback_top2.aspx;~/iframe/parent_postback_top3.aspx"},
|
|
||||||
{"iframe/triggerbox_iframe.aspx", "~/iframe/triggerbox_iframe_iframe.aspx"},
|
|
||||||
{"iframe/passvalue_iframe.aspx", "~/iframe/passvalue_iframe_iframe.aspx"},
|
|
||||||
{"other/accordion_links.aspx", "~/other/accordion_links_iframe.htm"},
|
|
||||||
{"usercontrol/userinfo.aspx", "~/usercontrol/UserInfoControl.ascx"},
|
|
||||||
{"usercontrol/userinfo2.aspx", "~/usercontrol/UserInfoControl.ascx"},
|
|
||||||
{"usercontrol/userinfo_dynamic.aspx", "~/usercontrol/UserInfoControl.ascx"},
|
|
||||||
{"iframe/selectprovince1.aspx", "~/iframe/selectprovince1_child.aspx"},
|
|
||||||
{"iframe/selectprovince2.aspx", "~/iframe/selectprovince2_child.aspx"},
|
|
||||||
{"iframe/selectprovince3.aspx", "~/iframe/selectprovince3_child.aspx"},
|
|
||||||
{"iframe/topmenu2/default.aspx", "~/iframe/topmenu2/default.aspx;~/iframe/topmenu2/leftmenu.aspx"},
|
|
||||||
{"iframe/topmenu3/default.aspx", "~/iframe/topmenu3/default.aspx;~/iframe/topmenu3/leftmenu.aspx"},
|
|
||||||
{"tabstrip/tabstrip_iframe_disabled.aspx", "~/tabstrip/tabstrip_iframe_disabled_tab1.aspx"}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
protected void Page_Init(object sender, EventArgs e)
|
protected void Page_Init(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (!IsPostBack)
|
if (!IsPostBack)
|
||||||
@ -46,8 +20,6 @@ namespace FineUI.Examples
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
files = ResolveQueryString(files);
|
|
||||||
|
|
||||||
if (!String.IsNullOrEmpty(files))
|
if (!String.IsNullOrEmpty(files))
|
||||||
{
|
{
|
||||||
string[] fileNames = files.Split(';');
|
string[] fileNames = files.Split(';');
|
||||||
@ -58,7 +30,7 @@ namespace FineUI.Examples
|
|||||||
string shortFileName = GetShortFileName(fileName);
|
string shortFileName = GetShortFileName(fileName);
|
||||||
string iframeUrl = "./source_file.aspx?file=" + fileName;
|
string iframeUrl = "./source_file.aspx?file=" + fileName;
|
||||||
|
|
||||||
FineUI.Tab tab = new FineUI.Tab();
|
Tab tab = new Tab();
|
||||||
tab.Title = shortFileName;
|
tab.Title = shortFileName;
|
||||||
tab.EnableIFrame = true;
|
tab.EnableIFrame = true;
|
||||||
tab.IFrameUrl = iframeUrl;
|
tab.IFrameUrl = iframeUrl;
|
||||||
@ -66,7 +38,7 @@ namespace FineUI.Examples
|
|||||||
TabStrip1.Tabs.Add(tab);
|
TabStrip1.Tabs.Add(tab);
|
||||||
|
|
||||||
// End with .aspx.
|
// End with .aspx.
|
||||||
if (fileName.ToLower().EndsWith(".aspx") || fileName.ToLower().EndsWith(".ascx"))
|
if (fileName.ToLower().EndsWith(".aspx") || fileName.ToLower().EndsWith(".ascx") || fileName.ToLower().EndsWith(".master"))
|
||||||
{
|
{
|
||||||
tab = new FineUI.Tab();
|
tab = new FineUI.Tab();
|
||||||
tab.Title = shortFileName + ".cs";
|
tab.Title = shortFileName + ".cs";
|
||||||
@ -88,7 +60,7 @@ namespace FineUI.Examples
|
|||||||
private string GetIconUrl(string url)
|
private string GetIconUrl(string url)
|
||||||
{
|
{
|
||||||
string suffix = url.Substring(url.LastIndexOf('.') + 1);
|
string suffix = url.Substring(url.LastIndexOf('.') + 1);
|
||||||
return "~/images/filetype/vs_" + suffix + ".png";
|
return "~/res/images/filetype/vs_" + suffix + ".png";
|
||||||
//string fileName = "vs_unknow.png";
|
//string fileName = "vs_unknow.png";
|
||||||
//if (url.EndsWith(".aspx"))
|
//if (url.EndsWith(".aspx"))
|
||||||
//{
|
//{
|
||||||
@ -120,20 +92,6 @@ namespace FineUI.Examples
|
|||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string ResolveQueryString(string files)
|
|
||||||
{
|
|
||||||
string result = files;
|
|
||||||
foreach (string key in SOURCE_FILES.Keys)
|
|
||||||
{
|
|
||||||
if (files.EndsWith(key))
|
|
||||||
{
|
|
||||||
result += ';' + SOURCE_FILES[key];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
private string GetShortFileName(string fileName)
|
private string GetShortFileName(string fileName)
|
||||||
{
|
{
|
||||||
int index = fileName.LastIndexOf("/");
|
int index = fileName.LastIndexOf("/");
|
||||||
|
@ -1,36 +1,37 @@
|
|||||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="source_file.aspx.cs" Inherits="FineUI.Examples.source_file" %>
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="source_file.aspx.cs" Inherits="FineUI.Examples.source_file" %>
|
||||||
|
|
||||||
<%@ Register Assembly="Wilco.SyntaxHighlighter" Namespace="Wilco.Web.SyntaxHighlighting"
|
|
||||||
TagPrefix="cc1" %>
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
|
<link href="../res/google-code-prettify/prettify.css" rel="stylesheet" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
body
|
body {
|
||||||
{
|
margin: 0;
|
||||||
margin: 0px;
|
padding: 0;
|
||||||
padding: 0px;
|
font-size: 13px;
|
||||||
font-size: 12px;
|
|
||||||
background-color: White;
|
background-color: White;
|
||||||
}
|
}
|
||||||
pre span
|
|
||||||
{
|
pre.prettyprint {
|
||||||
font-family: consolas,arial,tahoma,verdana,helvetica;
|
border: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 10px 5px;
|
||||||
|
color: #666;
|
||||||
}
|
}
|
||||||
.shl_ln
|
|
||||||
{
|
li.L0, li.L1, li.L2, li.L3, li.L4,
|
||||||
border-right: 1px solid #999;
|
li.L5, li.L6, li.L7, li.L8, li.L9 {
|
||||||
padding-right: 2px;
|
list-style-type: decimal !important;
|
||||||
color: #999;
|
background-color: #fff;
|
||||||
margin-right: 2px;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body onload="prettyPrint();">
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<cc1:SyntaxHighlighter ID="SyntaxHighlighter1" runat="server">
|
<asp:Literal runat="server" ID="desc"></asp:Literal>
|
||||||
</cc1:SyntaxHighlighter>
|
|
||||||
</form>
|
</form>
|
||||||
|
<script src="../res/google-code-prettify/prettify.js"></script>
|
||||||
|
<script src="../res/google-code-prettify/lang-basic.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -15,38 +15,15 @@ namespace FineUI.Examples
|
|||||||
{
|
{
|
||||||
string file = Request.QueryString["file"];
|
string file = Request.QueryString["file"];
|
||||||
|
|
||||||
string content = File.ReadAllText(Server.MapPath(file));
|
if (file.StartsWith("http://") || file.StartsWith("https://"))
|
||||||
|
|
||||||
if (!String.IsNullOrEmpty(file))
|
|
||||||
{
|
{
|
||||||
string language = "ASPX";
|
desc.Text = String.Format("<br/><br/><a href=\"{0}\" target=\"_blank\">在新窗口打开</a>", file);
|
||||||
string fileName = file.ToLower();
|
return;
|
||||||
if (fileName.EndsWith(".aspx"))
|
|
||||||
{
|
|
||||||
language = "ASPX";
|
|
||||||
}
|
|
||||||
else if (fileName.EndsWith(".cs"))
|
|
||||||
{
|
|
||||||
language = "C#";
|
|
||||||
}
|
|
||||||
else if (fileName.EndsWith(".config") || fileName.EndsWith(".sitemap") || fileName.EndsWith(".xml"))
|
|
||||||
{
|
|
||||||
language = "XML";
|
|
||||||
}
|
|
||||||
else if (fileName.EndsWith(".css"))
|
|
||||||
{
|
|
||||||
language = "CSS";
|
|
||||||
}
|
|
||||||
else if (fileName.EndsWith(".js"))
|
|
||||||
{
|
|
||||||
language = "JavaScript";
|
|
||||||
}
|
|
||||||
|
|
||||||
SyntaxHighlighter1.Mode = Wilco.Web.SyntaxHighlighting.HighlightMode.Source;
|
|
||||||
SyntaxHighlighter1.Language = language;
|
|
||||||
SyntaxHighlighter1.Text = content;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string content = File.ReadAllText(Server.MapPath(file));
|
||||||
|
desc.Text = "<pre class=\"prettyprint linenums\">" + HttpUtility.HtmlEncode(content) + "</pre>";
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,12 +22,12 @@ namespace FineUI.Examples {
|
|||||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// SyntaxHighlighter1 控件。
|
/// desc 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::Wilco.Web.SyntaxHighlighting.SyntaxHighlighter SyntaxHighlighter1;
|
protected global::System.Web.UI.WebControls.Literal desc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
body
|
body
|
||||||
{
|
{
|
||||||
@ -32,7 +32,7 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="f-body">
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<br />
|
<br />
|
||||||
FineUI 有原生的 AJAX 支持,也就是说不需要做任何配置,控件属性在服务器端的改变都能以 AJAX 的方式影响到前端界面的显示。
|
FineUI 有原生的 AJAX 支持,也就是说不需要做任何配置,控件属性在服务器端的改变都能以 AJAX 的方式影响到前端界面的显示。
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Component",
|
"name": "Component",
|
||||||
"ajax": ["CssClass", "CssStyle"],
|
"ajax": ["CssClass", "FormItemClass", "CssStyle"],
|
||||||
"parent": "ControlBase",
|
"parent": "ControlBase",
|
||||||
"public": false
|
"public": false
|
||||||
},
|
},
|
||||||
@ -276,7 +276,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Accordion",
|
"name": "Accordion",
|
||||||
"ajax": [],
|
"ajax": ["ActivePaneIndex"],
|
||||||
"parent": "CollapsablePanel",
|
"parent": "CollapsablePanel",
|
||||||
"public": true
|
"public": true
|
||||||
},
|
},
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>如何在IIS6中启用GZIP压缩</title>
|
<title>如何在IIS6中启用GZIP压缩</title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style>
|
<style>
|
||||||
body
|
body
|
||||||
{
|
{
|
||||||
@ -19,25 +19,25 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="f-body">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
如何在IIS6中启用GZIP压缩
|
如何在IIS6中启用GZIP压缩
|
||||||
</div>
|
</div>
|
||||||
<div style="margin: 10px 0;">
|
<div style="margin: 10px 0;">
|
||||||
启用GZIP压缩可以大大减少网络传输的数据量,比如使用FineUI的网站,首次下载的JavaScript由未启用的650K左右减少为启用GZIP后的250k左右。
|
启用GZIP压缩可以大大减少网络传输的数据量,比如使用FineUI v3.x的网站,首次下载的JavaScript由未启用的650K左右减少为启用GZIP后的250k左右。
|
||||||
</div>
|
</div>
|
||||||
<ol>
|
<ol>
|
||||||
<li>展开IIS管理器,在网站菜单上点击右键,点击属性菜单,选择服务选项卡,按下图选中启用压缩的复选框。
|
<li>展开IIS管理器,在网站菜单上点击右键,点击属性菜单,选择服务选项卡,按下图选中启用压缩的复选框。
|
||||||
<br />
|
<br />
|
||||||
<img src="../images/enable_gzip_iis6_1.png" />
|
<img src="../res/images/enable_gzip_iis6_1.png" />
|
||||||
<br />
|
<br />
|
||||||
<img src="../images/enable_gzip_iis6_2.png" />
|
<img src="../res/images/enable_gzip_iis6_2.png" />
|
||||||
<br />
|
<br />
|
||||||
</li>
|
</li>
|
||||||
<li>从<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en">这里</a>下载IIS
|
<li>从<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en">这里</a>下载IIS
|
||||||
6.0资源工具包,安装后运行Metabase Explorer。
|
6.0资源工具包,安装后运行Metabase Explorer。
|
||||||
<br />
|
<br />
|
||||||
<img src="../images/enable_gzip_iis6_3.png" />
|
<img src="../res/images/enable_gzip_iis6_3.png" />
|
||||||
<br />
|
<br />
|
||||||
</li>
|
</li>
|
||||||
<li>展开 LM>W3SVC>Filters>Compression,你需要如下编辑 gzip 和 deflate 两个菜单。
|
<li>展开 LM>W3SVC>Filters>Compression,你需要如下编辑 gzip 和 deflate 两个菜单。
|
||||||
@ -48,12 +48,12 @@
|
|||||||
<br />
|
<br />
|
||||||
HcFileExtensions:htm,html,js,css
|
HcFileExtensions:htm,html,js,css
|
||||||
<br />
|
<br />
|
||||||
<img src="../images/enable_gzip_iis6_4.png" />
|
<img src="../res/images/enable_gzip_iis6_4.png" />
|
||||||
<br />
|
<br />
|
||||||
</li>
|
</li>
|
||||||
<li>重启IIS。
|
<li>重启IIS。
|
||||||
<br />
|
<br />
|
||||||
<img src="../images/enable_gzip_iis6_5.png" />
|
<img src="../res/images/enable_gzip_iis6_5.png" />
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<div>
|
<div>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
body {
|
body {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
@ -18,7 +18,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<img src="../images/icons.gif" alt="FineUI Icons" />
|
<img src="../res/images/icons.gif" alt="FineUI Icons" />
|
||||||
<%--<asp:Literal EnableViewState="false" runat="server" ID="litIcons"></asp:Literal>--%>
|
<%--<asp:Literal EnableViewState="false" runat="server" ID="litIcons"></asp:Literal>--%>
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="f-body">
|
||||||
<img src="../images/icons.gif" alt="FineUI Icons" />
|
<img src="../res/images/icons.gif" alt="FineUI Icons" />
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
body {
|
body {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
@ -13,11 +13,11 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="f-body">
|
||||||
<div>
|
<div>
|
||||||
安装工具箱
|
安装工具箱
|
||||||
</div>
|
</div>
|
||||||
<ul class="example">
|
<ol class="example">
|
||||||
<li>打开 Visual Studio,新建一个 Web 项目; </li>
|
<li>打开 Visual Studio,新建一个 Web 项目; </li>
|
||||||
<li>打开 Default.aspx 页面;</li>
|
<li>打开 Default.aspx 页面;</li>
|
||||||
<li>打开工具箱,在空白处点击右键选择“添加选项卡”,输入“FineUI”; </li>
|
<li>打开工具箱,在空白处点击右键选择“添加选项卡”,输入“FineUI”; </li>
|
||||||
@ -26,8 +26,8 @@
|
|||||||
<li>打开“FineUI.dll”并确定; </li>
|
<li>打开“FineUI.dll”并确定; </li>
|
||||||
<li>完成后的截图:
|
<li>完成后的截图:
|
||||||
<br />
|
<br />
|
||||||
<img alt="FineUI toolbox" src="../images/toolbox.png" />
|
<img alt="FineUI toolbox" src="../res/images/toolbox.png" />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
body {
|
body {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
@ -13,45 +13,62 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="f-body">
|
||||||
<div>
|
<div>
|
||||||
在开发项目之前一定要配置好 Web.config:
|
在开发项目之前请配置好 Web.config:
|
||||||
</div>
|
</div>
|
||||||
<ul>
|
<ol>
|
||||||
<li>打开 web.config,在 configuration 配置节:
|
<li><strong>设置 configuration 配置节:</strong>
|
||||||
<br />
|
<br />
|
||||||
<pre style="font-style: italic;">
|
<pre style="font-style: italic;">
|
||||||
<configSections>
|
<configSections>
|
||||||
<section name="FineUI" type="FineUI.ConfigSection, FineUI"/>
|
<section name="FineUI" type="FineUI.ConfigSection, FineUI"/>
|
||||||
</configSections>
|
</configSections>
|
||||||
|
|
||||||
<!-- 可用的配置项(这里列的都是默认值):Language="zh_CN" AjaxTimeout="60" EnableAjax="true" Theme="blue" FormMessageTarget="qtip" FormOffsetRight="20" FormLabelWidth="100" FormLabelSeparator=":" IconBasePath="~/icon" EnableAjaxLoading="true" AjaxLoadingType="default" CustomTheme="" CustomThemeBasePath="~/theme" -->
|
<!-- 可用的配置项(这里列的都是默认值):
|
||||||
|
Theme="Neptune"
|
||||||
|
Language="zh_CN"
|
||||||
|
AjaxTimeout="120"
|
||||||
|
EnableAjax="true"
|
||||||
|
DebugMode="false"
|
||||||
|
FormMessageTarget="Qtip"
|
||||||
|
FormOffsetRight="0"
|
||||||
|
FormLabelWidth="100"
|
||||||
|
FormLabelSeparator=":"
|
||||||
|
FormLabelAlign="Left"
|
||||||
|
EnableAjaxLoading="true"
|
||||||
|
AjaxLoadingType="Default"
|
||||||
|
CustomTheme=""
|
||||||
|
IconBasePath="~/res/icon"
|
||||||
|
CustomThemeBasePath="~/res/theme"
|
||||||
|
JSBasePath="~/extjs"
|
||||||
|
IEEdge="true"
|
||||||
|
-->
|
||||||
<FineUI DebugMode="false" />
|
<FineUI DebugMode="false" />
|
||||||
</pre>
|
</pre>
|
||||||
FineUI 配置节中的参数:
|
FineUI 配置节中的参数:
|
||||||
<br />
|
<br />
|
||||||
<ul>
|
<ul>
|
||||||
<li>Theme: 控件主题,目前内置了四种主题风格(Neptune/Blue/Gray/Access,默认值:Neptune)</li>
|
<li>Theme: 控件主题,内置 4 种主题风格(Neptune/Blue/Gray/Access,默认值:Neptune)</li>
|
||||||
<li>Language: 控件语言(en/zh_CN/zh_TW/...,默认值:zh_CN)</li>
|
<li>Language: 控件语言(en/zh_CN/zh_TW,默认值:zh_CN)</li>
|
||||||
<li>FormMessageTarget: 表单字段错误提示信息的显示位置(Side/Qtip,默认值:Side)</li>
|
<li>FormMessageTarget: 表单字段错误提示信息的显示位置(Title/Side/Qtip,默认值:Side)</li>
|
||||||
<li>FormOffsetRight: 表单字段右侧距离边界的宽度(默认值:5px)</li>
|
<li>FormOffsetRight: 表单字段右侧距离边界的宽度(默认值:0px)</li>
|
||||||
<li>FormLabelWidth: 表单字段标签的宽度(默认值:100px)</li>
|
<li>FormLabelWidth: 表单字段标签的宽度(默认值:100px)</li>
|
||||||
<li>FormLabelSeparator: 表单字段标签与内容的分隔符(默认值:":")</li>
|
<li>FormLabelSeparator: 表单字段标签与内容的分隔符(默认值:":")</li>
|
||||||
<li>EnableAjax: 是否启用AJAX(默认值:true)</li>
|
<li>EnableAjax: 是否启用AJAX(默认值:true)</li>
|
||||||
<li>AjaxTimeout: AJAX超时时间(单位:秒,默认值:60s)</li>
|
<li>AjaxTimeout: Ajax超时时间(单位:秒,默认值:120s)</li>
|
||||||
<!--<li>EnableBigFont: 是否启用大字体,将ExtJS默认11px的字体全部改为12px,否则显示的中文字体太小(默认值:false)</li>-->
|
<li>DebugMode: 是否开发模式,启用时格式化输出页面的JavaScript代码,便于调试(默认值:false)</li>
|
||||||
<li>DebugMode: 是否开发模式,启用时格式化输出页面JavaScript代码,便于调试(默认值:false)</li>
|
|
||||||
<li>EnableAjaxLoading: 是否启用Ajax提示(默认值:true)</li>
|
<li>EnableAjaxLoading: 是否启用Ajax提示(默认值:true)</li>
|
||||||
<li>AjaxLoadingType: Ajax提示类型,默认在页面顶部显示黄色提示框,mask则显示extjs默认的加载提示(default/mask,默认值:default)</li>
|
<li>AjaxLoadingType: Ajax提示类型,默认在页面顶部显示黄色提示框(Default/Mask,默认值:Default)</li>
|
||||||
</ul>
|
</ul>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
</li>
|
</li>
|
||||||
<li>在 system.web 配置节:
|
<li><strong>设置 system.web 配置节:</strong>
|
||||||
<pre style="font-style: italic;">
|
<pre style="font-style: italic;">
|
||||||
<pages>
|
<pages>
|
||||||
<controls>
|
<controls>
|
||||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="x"/>
|
<add assembly="FineUI" namespace="FineUI" tagPrefix="f"/>
|
||||||
</controls>
|
</controls>
|
||||||
</pages>
|
</pages>
|
||||||
|
|
||||||
@ -59,13 +76,14 @@
|
|||||||
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI"/>
|
<add name="FineUIScriptModule" type="FineUI.ScriptModule, FineUI"/>
|
||||||
</httpModules>
|
</httpModules>
|
||||||
|
|
||||||
<httpHandlers>
|
<httpHandlers>
|
||||||
<add verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI"/>
|
<add verb="GET" path="res.axd" type="FineUI.ResourceHandler, FineUI" validate="false"/>
|
||||||
</httpHandlers>
|
</httpHandlers>
|
||||||
|
|
||||||
</pre>
|
</pre>
|
||||||
</li>
|
</li>
|
||||||
<li>完成。</li>
|
<li><strong>完成。</strong></li>
|
||||||
</ul>
|
</ol>
|
||||||
<br />
|
<br />
|
||||||
<div style="font-weight: bold; color: Red;">
|
<div style="font-weight: bold; color: Red;">
|
||||||
特别提醒
|
特别提醒
|
||||||
@ -75,7 +93,7 @@
|
|||||||
<pre style="font-style: italic;">
|
<pre style="font-style: italic;">
|
||||||
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
|
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
|
||||||
<controls>
|
<controls>
|
||||||
<add assembly="FineUI" namespace="FineUI" tagPrefix="ext" />
|
<add assembly="FineUI" namespace="FineUI" tagPrefix="f" />
|
||||||
</controls>
|
</controls>
|
||||||
</pages>
|
</pages>
|
||||||
</pre>
|
</pre>
|
||||||
@ -84,7 +102,7 @@
|
|||||||
注意引用的Newtonsoft.Json.dll版本
|
注意引用的Newtonsoft.Json.dll版本
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
FineUI.dll只有一个For Net2.0的版本,无论你的项目是2.0、3.5、4.0、4.5,都只需要引用同一个FineUI.dll即可。
|
FineUI.dll只有一个版本,无论你的项目是2.0、3.5、4.0、4.5,都只需要引用同一个FineUI.dll即可。
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
Newtonsoft.Json.dll为每个.Net版本创建不同的DLL,比如你的项目是基于.Net 2.0的,就要引用json.net\Net20\Newtonsoft.Json.dll,如果你的项目是基于.Net
|
Newtonsoft.Json.dll为每个.Net版本创建不同的DLL,比如你的项目是基于.Net 2.0的,就要引用json.net\Net20\Newtonsoft.Json.dll,如果你的项目是基于.Net
|
||||||
@ -92,6 +110,11 @@
|
|||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
<div style="font-weight: bold; color: Red;">
|
||||||
|
更多常见问题:<a href="http://fineui.com/bbs/forum.php?mod=viewthread&tid=655" target="_blank">http://fineui.com/bbs/forum.php?mod=viewthread&tid=655</a>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
<br />
|
<br />
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>FineUI版本发布周期(天)</title>
|
<title>FineUI版本发布周期(天)</title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
@ -16,7 +16,7 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body class="f-body">
|
||||||
<div id="desc">
|
<div id="desc">
|
||||||
</div>
|
</div>
|
||||||
<div id="chart_div">
|
<div id="chart_div">
|
||||||
@ -169,7 +169,11 @@
|
|||||||
["v3.2.6", "2013-05-21"],
|
["v3.2.6", "2013-05-21"],
|
||||||
["v3.3.0", "2013-06-17"],
|
["v3.3.0", "2013-06-17"],
|
||||||
["v3.3.1", "2013-07-29"],
|
["v3.3.1", "2013-07-29"],
|
||||||
["v4.0.1", "2013-10-28"]
|
["v4.0.1 beta", "2013-10-28"],
|
||||||
|
["v3.3.2", "2013-11-21"],
|
||||||
|
["v4.0.2 beta", "2013-12-14"],
|
||||||
|
["v3.3.3", "2014-01-20"],
|
||||||
|
["v4.0.3 beta", "2014-01-20"]
|
||||||
];
|
];
|
||||||
|
|
||||||
// 初始化第一个数据
|
// 初始化第一个数据
|
||||||
|
@ -3,130 +3,191 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title>FineUI 在线示例 - 基于 ExtJS 的专业 ASP.NET 控件库</title>
|
<title>FineUI(开源版)在线示例 - 基于 ExtJS 的开源 ASP.NET 控件库</title>
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||||
<meta name="Title" content="基于 ExtJS 的专业 ASP.NET 控件库,拥有原生的 AJAX 支持和华丽的UI效果 (ExtJS based ASP.NET Controls with native AJAX Support and rich UI effects)" />
|
<meta name="Title" content="基于 ExtJS 的开源 ASP.NET 控件库(ExtJS based open source ASP.NET Controls)" />
|
||||||
<meta name="Description" content="FineUI 的使命是创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序" />
|
<meta name="Description" content="FineUI 的使命是创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序" />
|
||||||
<meta name="Keywords" content="extjs,ext,asp.net,control,asp.net 2.0,ajax,web2.0" />
|
<meta name="Keywords" content="开源,ASP.NET,控件库,ExtJS,AJAX,Web2.0" />
|
||||||
<link href="css/default.css" rel="stylesheet" type="text/css" />
|
<style>
|
||||||
|
#header {
|
||||||
|
position: relative;
|
||||||
|
padding: 10px 10px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header a.logo {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header a.title {
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 24px;
|
||||||
|
text-decoration: none;
|
||||||
|
line-height: 36px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#header .themeroller {
|
||||||
|
position: absolute;
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header .themeroller a {
|
||||||
|
font-size: 20px;
|
||||||
|
text-decoration: none;
|
||||||
|
line-height: 36px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#logo {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 20px;
|
||||||
|
right: 0;
|
||||||
|
filter: alpha(opacity=80);
|
||||||
|
-moz-opacity: 0.8;
|
||||||
|
opacity: 0.8;
|
||||||
|
z-index: 100000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.isnew {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottomtable {
|
||||||
|
width: 100%;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 修正选项卡标题中放置红色[New!]时,底部出现的一行空白线 */
|
||||||
|
.f-theme-neptune .x-tab .x-tab-inner {
|
||||||
|
line-height: 16px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 主题相关样式 - neptune */
|
||||||
|
.f-theme-neptune #header,
|
||||||
|
.f-theme-neptune .bottomtable,
|
||||||
|
.f-theme-neptune .x-splitter {
|
||||||
|
background-color: #1475BB;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f-theme-neptune #header a,
|
||||||
|
.f-theme-neptune .bottomtable a {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* 主题相关样式 - blue */
|
||||||
|
.f-theme-blue #header,
|
||||||
|
.f-theme-blue .bottomtable {
|
||||||
|
background-color: #DFE8F6;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f-theme-blue #header a,
|
||||||
|
.f-theme-blue .bottomtable a {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 主题相关样式 - gray */
|
||||||
|
.f-theme-gray #header,
|
||||||
|
.f-theme-gray .bottomtable {
|
||||||
|
background-color: #E0E0E0;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f-theme-gray #header a,
|
||||||
|
.f-theme-gray .bottomtable a {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 主题相关样式 - access */
|
||||||
|
.f-theme-access #header,
|
||||||
|
.f-theme-access .bottomtable {
|
||||||
|
background-color: #3F4757;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f-theme-access #header a,
|
||||||
|
.f-theme-access .bottomtable a {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f-theme-access .maincontent .x-panel-body {
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server"></x:PageManager>
|
<f:PageManager ID="PageManager1" AutoSizePanelID="RegionPanel1" runat="server"></f:PageManager>
|
||||||
<x:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
|
<f:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
|
||||||
<Regions>
|
<Regions>
|
||||||
<x:Region ID="Region1" Margins="0 0 0 0" ShowBorder="false" Height="50px" ShowHeader="false"
|
<f:Region ID="Region1" ShowBorder="false" ShowHeader="false"
|
||||||
Position="Top" Layout="Fit" runat="server">
|
Position="Top" Layout="Fit" runat="server">
|
||||||
<Items>
|
<Content>
|
||||||
<x:ContentPanel ShowBorder="false" CssClass="jumbotron" ShowHeader="false" ID="ContentPanel1"
|
<div id="header">
|
||||||
runat="server">
|
<table>
|
||||||
<div class="title">
|
<tr>
|
||||||
<a href="http://fineui.com/" title="FineUI首页" class="logo">
|
<td>
|
||||||
<img src="./images/logo/logo2.gif" alt="FineUI Logo" /></a>
|
<a class="logo" href="http://fineui.com/" title="FineUI首页">
|
||||||
<a href="./default.aspx">FineUI在线示例</a>
|
<img src="./res/images/logo/logo2.gif" alt="FineUI Logo" />
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a class="title" href="./default.aspx">FineUI(开源版)在线示例</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div class="themeroller">
|
||||||
|
<a href="http://fineui.com/demo_pro" target="_blank" title="转到专业版示例">专业版示例
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="config">
|
</div>
|
||||||
<x:Button ID="Button2" EnablePostBack="false" Icon="Cog" Text="设置" runat="server">
|
</Content>
|
||||||
<Menu ID="Menu1" runat="server">
|
</f:Region>
|
||||||
<x:MenuButton ID="btnExpandAll" IconUrl="~/images/expand-all.gif" Text="展开菜单" EnablePostBack="false"
|
<f:Region ID="leftPanel" RegionSplit="true" Width="220px" ShowHeader="true" ShowBorder="true" Title="全部示例"
|
||||||
runat="server">
|
EnableCollapse="true" Layout="Fit" Collapsed="false" RegionPosition="Left" runat="server">
|
||||||
</x:MenuButton>
|
</f:Region>
|
||||||
<x:MenuButton ID="btnCollapseAll" IconUrl="~/images/collapse-all.gif" Text="折叠菜单"
|
<f:Region ID="mainRegion" ShowHeader="false" Layout="Fit" ShowBorder="true" Position="Center"
|
||||||
EnablePostBack="false" runat="server">
|
|
||||||
</x:MenuButton>
|
|
||||||
<x:MenuSeparator ID="MenuSeparator1" runat="server">
|
|
||||||
</x:MenuSeparator>
|
|
||||||
<x:MenuButton EnablePostBack="false" Text="菜单样式" ID="MenuStyle" runat="server">
|
|
||||||
<Menu ID="Menu3" runat="server">
|
|
||||||
<x:MenuCheckBox Text="树菜单" ID="MenuStyleTree" Checked="true" GroupName="MenuStyle"
|
|
||||||
AutoPostBack="true" OnCheckedChanged="MenuStyle_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
<x:MenuCheckBox Text="手风琴+树菜单" ID="MenuStyleAccordion" GroupName="MenuStyle" AutoPostBack="true"
|
|
||||||
OnCheckedChanged="MenuStyle_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
</Menu>
|
|
||||||
</x:MenuButton>
|
|
||||||
<x:MenuButton EnablePostBack="false" Text="语言" ID="MenuLang" runat="server">
|
|
||||||
<Menu ID="Menu2" runat="server">
|
|
||||||
<x:MenuCheckBox Text="简体中文" ID="MenuLangZHCN" Checked="true" GroupName="MenuLang"
|
|
||||||
AutoPostBack="true" OnCheckedChanged="MenuLang_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
<x:MenuCheckBox Text="繁體中文" ID="MenuLangZHTW" GroupName="MenuLang" AutoPostBack="true"
|
|
||||||
OnCheckedChanged="MenuLang_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
<x:MenuCheckBox Text="English" ID="MenuLangEN" GroupName="MenuLang" AutoPostBack="true"
|
|
||||||
OnCheckedChanged="MenuLang_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
</Menu>
|
|
||||||
</x:MenuButton>
|
|
||||||
<x:MenuButton ID="MenuTheme" EnablePostBack="false" Text="主题" runat="server">
|
|
||||||
<Menu ID="Menu4" runat="server">
|
|
||||||
<x:MenuCheckBox Text="Neptune" ID="MenuThemeNeptune" Checked="true" GroupName="MenuTheme"
|
|
||||||
AutoPostBack="true" OnCheckedChanged="MenuTheme_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
<x:MenuCheckBox Text="Blue" ID="MenuThemeBlue" GroupName="MenuTheme"
|
|
||||||
AutoPostBack="true" OnCheckedChanged="MenuTheme_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
<x:MenuCheckBox Text="Gray" ID="MenuThemeGray" GroupName="MenuTheme" AutoPostBack="true"
|
|
||||||
OnCheckedChanged="MenuTheme_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
<x:MenuCheckBox Text="Access" ID="MenuThemeAccess" GroupName="MenuTheme" AutoPostBack="true"
|
|
||||||
OnCheckedChanged="MenuTheme_CheckedChanged" runat="server">
|
|
||||||
</x:MenuCheckBox>
|
|
||||||
</Menu>
|
|
||||||
</x:MenuButton>
|
|
||||||
<x:MenuSeparator ID="MenuSeparator2" runat="server">
|
|
||||||
</x:MenuSeparator>
|
|
||||||
<x:MenuHyperLink runat="server" Text="转到英文示例" NavigateUrl="http://fineui.com/demo_en/" Target="_blank"></x:MenuHyperLink>
|
|
||||||
</Menu>
|
|
||||||
</x:Button>
|
|
||||||
</div>
|
|
||||||
</x:ContentPanel>
|
|
||||||
</Items>
|
|
||||||
</x:Region>
|
|
||||||
<x:Region ID="Region2" Split="true" Width="200px" ShowHeader="true" Title="示例菜单"
|
|
||||||
EnableCollapse="true" Layout="Fit" Position="Left" runat="server">
|
|
||||||
</x:Region>
|
|
||||||
<x:Region ID="mainRegion" ShowHeader="false" Layout="Fit" Margins="0 0 0 0" Position="Center"
|
|
||||||
runat="server">
|
runat="server">
|
||||||
<Items>
|
<Items>
|
||||||
<x:TabStrip ID="mainTabStrip" EnableTabCloseMenu="true" EnableFrame="false" ShowBorder="false" runat="server">
|
<f:TabStrip ID="mainTabStrip" EnableTabCloseMenu="true" ShowBorder="false" runat="server">
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<x:Tab Title="首页" Layout="Fit" Icon="House" CssClass="maincontent" runat="server">
|
<f:Tab Title="首页" Layout="Fit" Icon="House" CssClass="maincontent" runat="server">
|
||||||
<Toolbars>
|
<Toolbars>
|
||||||
<x:Toolbar runat="server">
|
<f:Toolbar runat="server">
|
||||||
<Items>
|
<Items>
|
||||||
<x:ToolbarFill ID="ToolbarFill2" runat="server">
|
<f:ToolbarFill ID="ToolbarFill2" runat="server">
|
||||||
</x:ToolbarFill>
|
</f:ToolbarFill>
|
||||||
<x:Button ID="btnGotoOpenSourceSite" Icon="DiskDownload" Text="下载全部示例" OnClientClick="window.open('http://fineui.codeplex.com/', '_blank');"
|
<f:Button ID="btnGotoOpenSourceSite" Icon="DiskDownload" Text="下载全部源码" OnClientClick="window.open('http://fineui.codeplex.com/', '_blank');"
|
||||||
EnablePostBack="false" runat="server">
|
EnablePostBack="false" runat="server">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
|
||||||
</x:ToolbarSeparator>
|
</f:ToolbarSeparator>
|
||||||
<x:Button Icon="PageGo" Text="官网首页" EnablePostBack="false" OnClientClick="window.open('http://fineui.com/', '_blank');"
|
<f:Button ID="Button1" Icon="PageGo" Text="论坛交流" OnClientClick="window.open('http://fineui.com/bbs/', '_blank');"
|
||||||
runat="server">
|
|
||||||
</x:Button>
|
|
||||||
<x:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
|
|
||||||
</x:ToolbarSeparator>
|
|
||||||
<x:Button ID="Button1" Icon="PageGo" Text="论坛交流" OnClientClick="window.open('http://fineui.com/bbs/', '_blank');"
|
|
||||||
EnablePostBack="false" runat="server">
|
EnablePostBack="false" runat="server">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
</Items>
|
</Items>
|
||||||
</x:Toolbar>
|
</f:Toolbar>
|
||||||
</Toolbars>
|
</Toolbars>
|
||||||
<Items>
|
<Items>
|
||||||
<x:ContentPanel ShowBorder="false" BodyPadding="10px" ShowHeader="false" AutoScroll="true"
|
<f:ContentPanel ShowBorder="false" BodyPadding="10px" ShowHeader="false" AutoScroll="true"
|
||||||
runat="server">
|
runat="server">
|
||||||
<h2>关于FineUI</h2>
|
<h2>FineUI(开源版)</h2>
|
||||||
基于 ExtJS 的专业 ASP.NET 控件库。
|
基于 ExtJS 的开源 ASP.NET 控件库
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<h2>FineUI的使命</h2>
|
<h2>FineUI的使命</h2>
|
||||||
创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序。
|
创建 No JavaScript,No CSS,No UpdatePanel,No ViewState,No WebServices 的网站应用程序
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<h2>支持的浏览器</h2>
|
<h2>支持的浏览器</h2>
|
||||||
IE 7.0+、Firefox 3.6+、Chrome 3.0+、Opera 10.5+、Safari 3.0+
|
Chrome、Firefox、Safari、IE 8.0+
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<h2>授权协议</h2>
|
<h2>授权协议</h2>
|
||||||
@ -134,7 +195,7 @@
|
|||||||
|
|
||||||
<br />
|
<br />
|
||||||
<h2>相关链接</h2>
|
<h2>相关链接</h2>
|
||||||
首页:<a target="_blank" style="font-weight: bold;" href="http://fineui.com/">http://fineui.com/</a>
|
首页:<a target="_blank" href="http://fineui.com/">http://fineui.com/</a>
|
||||||
<br />
|
<br />
|
||||||
论坛:<a target="_blank" href="http://fineui.com/bbs/">http://fineui.com/bbs/</a>
|
论坛:<a target="_blank" href="http://fineui.com/bbs/">http://fineui.com/bbs/</a>
|
||||||
<br />
|
<br />
|
||||||
@ -148,22 +209,350 @@
|
|||||||
<br />
|
<br />
|
||||||
注:FineUI 不再内置 ExtJS 库,请手工添加 ExtJS 库:<a target="_blank" href="http://fineui.com/bbs/forum.php?mod=viewthread&tid=3218">http://fineui.com/bbs/forum.php?mod=viewthread&tid=3218</a>
|
注:FineUI 不再内置 ExtJS 库,请手工添加 ExtJS 库:<a target="_blank" href="http://fineui.com/bbs/forum.php?mod=viewthread&tid=3218">http://fineui.com/bbs/forum.php?mod=viewthread&tid=3218</a>
|
||||||
|
|
||||||
</x:ContentPanel>
|
|
||||||
|
<div style="position: fixed; bottom: 30px; right: 10px; text-align: center; border: solid 1px #ddd; padding: 10px; background-color: #efefef;">
|
||||||
|
<div style="margin-bottom: 5px;">
|
||||||
|
扫描二维码,关注 FineUI 微信公众号
|
||||||
|
</div>
|
||||||
|
<img src="http://fineui.com/images/weixin_fineui.jpg" style="width: 150px;" alert="关注 FineUI 微信公众号">
|
||||||
|
</div>
|
||||||
|
</f:ContentPanel>
|
||||||
</Items>
|
</Items>
|
||||||
</x:Tab>
|
</f:Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</x:TabStrip>
|
</f:TabStrip>
|
||||||
</Items>
|
</Items>
|
||||||
</x:Region>
|
</f:Region>
|
||||||
|
<f:Region ID="bottomPanel" RegionPosition="Bottom" ShowBorder="false" ShowHeader="false" EnableCollapse="false" runat="server" Layout="Fit">
|
||||||
|
<Items>
|
||||||
|
<f:ContentPanel runat="server" ShowBorder="false" ShowHeader="false">
|
||||||
|
<table class="bottomtable">
|
||||||
|
<tr>
|
||||||
|
<td style="width: 300px;"> 版本:<a target="_blank" href="http://fineui.com/version">v<asp:Literal runat="server" ID="litVersion"></asp:Literal></a>
|
||||||
|
<a target="_blank" href="http://wp.qq.com/wpa/qunwpa?idkey=5a98eb42b742a1edaf22826648d5f61bc16ed08e0253976bc8d30f97508c09c7">QQ公开群</a></td>
|
||||||
|
<td style="text-align: center;">Copyright © 2014 合肥三生石上软件有限公司</td>
|
||||||
|
<td style="width: 300px; text-align: right;">在线人数:<asp:Literal runat="server" ID="litOnlineUserCount"></asp:Literal> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</f:ContentPanel>
|
||||||
|
</Items>
|
||||||
|
</f:Region>
|
||||||
</Regions>
|
</Regions>
|
||||||
</x:RegionPanel>
|
</f:RegionPanel>
|
||||||
<x:Window ID="windowSourceCode" Icon="PageWhiteCode" Title="源代码" Hidden="true" EnableIFrame="true"
|
<f:Window ID="windowSourceCode" Icon="PageWhiteCode" Title="源代码" Hidden="true" EnableIFrame="true"
|
||||||
runat="server" IsModal="true" Width="950px" Height="550px" EnableClose="true"
|
runat="server" IsModal="true" Width="950px" Height="550px" EnableClose="true"
|
||||||
EnableMaximize="true" EnableResize="true">
|
EnableMaximize="true" EnableResize="true">
|
||||||
</x:Window>
|
</f:Window>
|
||||||
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/common/menu.xml"></asp:XmlDataSource>
|
<f:Menu ID="menuSettings" runat="server">
|
||||||
|
<f:MenuButton ID="btnExpandAll" IconUrl="~/res/images/expand-all.gif" Text="展开菜单" EnablePostBack="false"
|
||||||
|
runat="server">
|
||||||
|
</f:MenuButton>
|
||||||
|
<f:MenuButton ID="btnCollapseAll" IconUrl="~/res/images/collapse-all.gif" Text="折叠菜单"
|
||||||
|
EnablePostBack="false" runat="server">
|
||||||
|
</f:MenuButton>
|
||||||
|
<f:MenuSeparator ID="MenuSeparator4" runat="server">
|
||||||
|
</f:MenuSeparator>
|
||||||
|
<f:MenuCheckBox runat="server" ID="cbxShowOnlyNew" Text="仅显示最新示例">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
<f:MenuSeparator ID="MenuSeparator1" runat="server">
|
||||||
|
</f:MenuSeparator>
|
||||||
|
<f:MenuButton EnablePostBack="false" Text="菜单样式" ID="MenuStyle" runat="server">
|
||||||
|
<Menu runat="server">
|
||||||
|
<f:MenuCheckBox Text="树菜单" ID="MenuStyleTree" Checked="true" GroupName="MenuStyle" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
<f:MenuCheckBox Text="手风琴+树菜单" ID="MenuStyleAccordion" GroupName="MenuStyle" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
</Menu>
|
||||||
|
</f:MenuButton>
|
||||||
|
<f:MenuButton EnablePostBack="false" Text="语言" ID="MenuLang" runat="server">
|
||||||
|
<Menu ID="Menu2" runat="server">
|
||||||
|
<f:MenuCheckBox Text="简体中文" ID="MenuLangZHCN" Checked="true" GroupName="MenuLang" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
<f:MenuCheckBox Text="繁體中文" ID="MenuLangZHTW" GroupName="MenuLang" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
<f:MenuCheckBox Text="English" ID="MenuLangEN" GroupName="MenuLang" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
</Menu>
|
||||||
|
</f:MenuButton>
|
||||||
|
<f:MenuButton ID="MenuTheme" EnablePostBack="false" Text="主题" runat="server">
|
||||||
|
<Menu ID="Menu4" runat="server">
|
||||||
|
<f:MenuCheckBox Text="Neptune" ID="MenuThemeNeptune" Checked="true" GroupName="MenuTheme" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
<f:MenuCheckBox Text="Blue" ID="MenuThemeBlue" GroupName="MenuTheme" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
<f:MenuCheckBox Text="Gray" ID="MenuThemeGray" GroupName="MenuTheme" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
<f:MenuCheckBox Text="Access" ID="MenuThemeAccess" GroupName="MenuTheme" runat="server">
|
||||||
|
</f:MenuCheckBox>
|
||||||
|
</Menu>
|
||||||
|
</f:MenuButton>
|
||||||
|
<f:MenuSeparator ID="MenuSeparator2" runat="server">
|
||||||
|
</f:MenuSeparator>
|
||||||
|
<f:MenuHyperLink ID="MenuHyperLink2" runat="server" Text="转到 v3.x 中文示例" NavigateUrl="http://fineui.com/demo_v3/" Target="_blank">
|
||||||
|
</f:MenuHyperLink>
|
||||||
|
<f:MenuHyperLink ID="MenuHyperLink1" runat="server" Text="转到 v3.x 英文示例" NavigateUrl="http://fineui.com/demo_en/" Target="_blank">
|
||||||
|
</f:MenuHyperLink>
|
||||||
|
<f:MenuSeparator ID="MenuSeparator3" runat="server">
|
||||||
|
</f:MenuSeparator>
|
||||||
|
<f:MenuHyperLink ID="MenuHyperLink3" runat="server" Text="转到专业版示例" NavigateUrl="http://fineui.com/demo_pro/" Target="_blank">
|
||||||
|
</f:MenuHyperLink>
|
||||||
|
</f:Menu>
|
||||||
|
<asp:XmlDataSource ID="XmlDataSource1" runat="server" EnableCaching="false" DataFile="~/common/menu.xml"></asp:XmlDataSource>
|
||||||
</form>
|
</form>
|
||||||
<img src="images/logo/logo3.png" alt="FineUI 图标" id="logo" />
|
<!--
|
||||||
<script src="./js/default.js" type="text/javascript"></script>
|
<img src="./res/images/logo/logo3.png" alt="FineUI 图标" id="logo" />
|
||||||
|
-->
|
||||||
|
<script src="./res/js/jquery.min.js"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var btnExpandAllClientID = '<%= btnExpandAll.ClientID %>';
|
||||||
|
var btnCollapseAllClientID = '<%= btnCollapseAll.ClientID %>';
|
||||||
|
var leftPanelClientID = '<%= leftPanel.ClientID %>';
|
||||||
|
var mainTabStripClientID = '<%= mainTabStrip.ClientID %>';
|
||||||
|
var windowSourceCodeClientID = '<%= windowSourceCode.ClientID %>';
|
||||||
|
var menuSettingsClientID = '<%= menuSettings.ClientID %>';
|
||||||
|
var cbxShowOnlyNewClientID = '<%= cbxShowOnlyNew.ClientID %>';
|
||||||
|
|
||||||
|
var MenuStyleClientID = '<%= MenuStyle.ClientID %>';
|
||||||
|
var MenuLangClientID = '<%= MenuLang.ClientID %>';
|
||||||
|
var MenuThemeClientID = '<%= MenuTheme.ClientID %>';
|
||||||
|
|
||||||
|
|
||||||
|
F.ready(function () {
|
||||||
|
var btnExpandAll = F(btnExpandAllClientID);
|
||||||
|
var btnCollapseAll = F(btnCollapseAllClientID);
|
||||||
|
var leftPanel = F(leftPanelClientID);
|
||||||
|
var mainTabStrip = F(mainTabStripClientID);
|
||||||
|
var windowSourceCode = F(windowSourceCodeClientID);
|
||||||
|
var menuSettings = F(menuSettingsClientID);
|
||||||
|
var cbxShowOnlyNew = F(cbxShowOnlyNewClientID);
|
||||||
|
|
||||||
|
var MenuStyle = F(MenuStyleClientID);
|
||||||
|
var MenuLang = F(MenuLangClientID);
|
||||||
|
var MenuTheme = F(MenuThemeClientID);
|
||||||
|
|
||||||
|
var mainMenu = leftPanel.items.getAt(0);
|
||||||
|
var menuType = 'accordion';
|
||||||
|
if (mainMenu.isXType('treepanel')) {
|
||||||
|
menuType = 'menu';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 当前展开的手风琴面板
|
||||||
|
function getExpandedPanel() {
|
||||||
|
var panel = null;
|
||||||
|
mainMenu.items.each(function (item) {
|
||||||
|
if (!item.getCollapsed()) {
|
||||||
|
panel = item;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return panel;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 点击展开菜单
|
||||||
|
btnExpandAll.on('click', function () {
|
||||||
|
if (menuType == 'menu') {
|
||||||
|
// 左侧为树控件
|
||||||
|
mainMenu.expandAll();
|
||||||
|
} else {
|
||||||
|
// 左侧为树控件+手风琴控件
|
||||||
|
var expandedPanel = getExpandedPanel();
|
||||||
|
if (expandedPanel) {
|
||||||
|
expandedPanel.items.getAt(0).expandAll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 点击折叠菜单
|
||||||
|
btnCollapseAll.on('click', function () {
|
||||||
|
if (menuType == 'menu') {
|
||||||
|
// 左侧为树控件
|
||||||
|
mainMenu.collapseAll();
|
||||||
|
} else {
|
||||||
|
// 左侧为树控件+手风琴控件
|
||||||
|
var expandedPanel = getExpandedPanel();
|
||||||
|
if (expandedPanel) {
|
||||||
|
expandedPanel.items.getAt(0).collapseAll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 点击仅显示最新示例
|
||||||
|
cbxShowOnlyNew.on('click', function () {
|
||||||
|
var checked = this.checked;
|
||||||
|
if (checked) {
|
||||||
|
F.cookie('ShowOnlyNew_v4', checked, {
|
||||||
|
expires: 100 // 单位:天
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
F.removeCookie('ShowOnlyNew_v4');
|
||||||
|
}
|
||||||
|
top.window.location.reload();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 点击菜单样式
|
||||||
|
function MenuStyleItemCheckChange(cmp, checked) {
|
||||||
|
if (checked) {
|
||||||
|
var menuStyle = 'accordion';
|
||||||
|
if (cmp.id.indexOf('MenuStyleTree') >= 0) {
|
||||||
|
menuStyle = 'tree';
|
||||||
|
}
|
||||||
|
F.cookie('MenuStyle_v4', menuStyle, {
|
||||||
|
expires: 100 // 单位:天
|
||||||
|
});
|
||||||
|
top.window.location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MenuStyle.menu.items.each(function (item, index) {
|
||||||
|
item.on('checkchange', MenuStyleItemCheckChange);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// 切换语言
|
||||||
|
function MenuLangItemCheckChange(cmp, checked) {
|
||||||
|
if (checked) {
|
||||||
|
var lang = 'en';
|
||||||
|
if (cmp.id.indexOf('MenuLangZHCN') >= 0) {
|
||||||
|
lang = 'zh_CN';
|
||||||
|
} else if (cmp.id.indexOf('MenuLangZHTW') >= 0) {
|
||||||
|
lang = 'zh_TW';
|
||||||
|
}
|
||||||
|
|
||||||
|
F.cookie('Language_v4', lang, {
|
||||||
|
expires: 100 // 单位:天
|
||||||
|
});
|
||||||
|
top.window.location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MenuLang.menu.items.each(function (item, index) {
|
||||||
|
item.on('checkchange', MenuLangItemCheckChange);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// 切换主题
|
||||||
|
function MenuThemeItemCheckChange(cmp, checked) {
|
||||||
|
if (checked) {
|
||||||
|
var lang = 'neptune';
|
||||||
|
if (cmp.id.indexOf('MenuThemeBlue') >= 0) {
|
||||||
|
lang = 'blue';
|
||||||
|
} else if (cmp.id.indexOf('MenuThemeGray') >= 0) {
|
||||||
|
lang = 'gray';
|
||||||
|
} else if (cmp.id.indexOf('MenuThemeAccess') >= 0) {
|
||||||
|
lang = 'access';
|
||||||
|
}
|
||||||
|
|
||||||
|
F.cookie('Theme_v4', lang, {
|
||||||
|
expires: 100 // 单位:天
|
||||||
|
});
|
||||||
|
top.window.location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MenuTheme.menu.items.each(function (item, index) {
|
||||||
|
item.on('checkchange', MenuThemeItemCheckChange);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function createToolbar(tabConfig) {
|
||||||
|
|
||||||
|
// 由工具栏上按钮获得当前标签页中的iframe节点
|
||||||
|
function getCurrentIFrameNode(btn) {
|
||||||
|
return $('#' + btn.id).parents('.f-tab').find('iframe');
|
||||||
|
}
|
||||||
|
|
||||||
|
var sourcecodeButton = new Ext.Button({
|
||||||
|
text: '源代码',
|
||||||
|
type: 'button',
|
||||||
|
icon: './res/icon/page_white_code.png',
|
||||||
|
listeners: {
|
||||||
|
click: function () {
|
||||||
|
var iframeNode = getCurrentIFrameNode(this);
|
||||||
|
var iframeWnd = iframeNode[0].contentWindow
|
||||||
|
|
||||||
|
var files = [iframeNode.attr('src')];
|
||||||
|
var sourcefilesNode = $(iframeWnd.document).find('head meta[name=sourcefiles]');
|
||||||
|
if (sourcefilesNode.length) {
|
||||||
|
$.merge(files, sourcefilesNode.attr('content').split(';'));
|
||||||
|
}
|
||||||
|
windowSourceCode.f_show('./common/source.aspx?files=' + encodeURIComponent(files.join(';')));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var openNewWindowButton = new Ext.Button({
|
||||||
|
text: '新标签页中打开',
|
||||||
|
type: 'button',
|
||||||
|
icon: './res/icon/tab_go.png',
|
||||||
|
listeners: {
|
||||||
|
click: function () {
|
||||||
|
var iframeNode = getCurrentIFrameNode(this);
|
||||||
|
window.open(iframeNode.attr('src'), '_blank');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var refreshButton = new Ext.Button({
|
||||||
|
text: '刷新',
|
||||||
|
type: 'button',
|
||||||
|
icon: './res/icon/reload.png',
|
||||||
|
listeners: {
|
||||||
|
click: function () {
|
||||||
|
var iframeNode = getCurrentIFrameNode(this);
|
||||||
|
iframeNode[0].contentWindow.location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var toolbar = new Ext.Toolbar({
|
||||||
|
items: ['->', sourcecodeButton, '-', refreshButton, '-', openNewWindowButton]
|
||||||
|
});
|
||||||
|
|
||||||
|
tabConfig['tbar'] = toolbar;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 初始化主框架中的树(或者Accordion+Tree)和选项卡互动,以及地址栏的更新
|
||||||
|
// treeMenu: 主框架中的树控件实例,或者内嵌树控件的手风琴控件实例
|
||||||
|
// mainTabStrip: 选项卡实例
|
||||||
|
// createToolbar: 创建选项卡前的回调函数(接受tabConfig参数)
|
||||||
|
// updateLocationHash: 切换Tab时,是否更新地址栏Hash值
|
||||||
|
// refreshWhenExist: 添加选项卡时,如果选项卡已经存在,是否刷新内部IFrame
|
||||||
|
// refreshWhenTabChange: 切换选项卡时,是否刷新内部IFrame
|
||||||
|
F.util.initTreeTabStrip(mainMenu, mainTabStrip, createToolbar, true, false, false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 添加示例标签页
|
||||||
|
window.addExampleTab = function (id, url, text, icon, refreshWhenExist) {
|
||||||
|
// 动态添加一个标签页
|
||||||
|
// mainTabStrip: 选项卡实例
|
||||||
|
// id: 选项卡ID
|
||||||
|
// url: 选项卡IFrame地址
|
||||||
|
// text: 选项卡标题
|
||||||
|
// icon: 选项卡图标
|
||||||
|
// addTabCallback: 创建选项卡前的回调函数(接受tabConfig参数)
|
||||||
|
// refreshWhenExist: 添加选项卡时,如果选项卡已经存在,是否刷新内部IFrame
|
||||||
|
F.util.addMainTab(mainTabStrip, id, url, text, icon, null, refreshWhenExist);
|
||||||
|
};
|
||||||
|
|
||||||
|
// 移除选中标签页
|
||||||
|
window.removeActiveTab = function () {
|
||||||
|
var activeTab = mainTabStrip.getActiveTab();
|
||||||
|
mainTabStrip.removeTab(activeTab.id);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 添加工具图标,并在点击时显示上下文菜单
|
||||||
|
leftPanel.addTool({
|
||||||
|
type: 'gear',
|
||||||
|
//tooltip: '系统设置',
|
||||||
|
handler: function (event) {
|
||||||
|
menuSettings.showBy(this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -14,49 +14,54 @@ namespace FineUI.Examples
|
|||||||
{
|
{
|
||||||
#region Page_Init
|
#region Page_Init
|
||||||
|
|
||||||
|
private string _menuType = "menu";
|
||||||
|
private bool _showOnlyNew = false;
|
||||||
|
private int _examplesCount = 0;
|
||||||
|
|
||||||
protected void Page_Init(object sender, EventArgs e)
|
protected void Page_Init(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string menuType = "menu";
|
HttpCookie menuCookie = Request.Cookies["MenuStyle_v4"];
|
||||||
HttpCookie menuCookie = Request.Cookies["MenuStyle"];
|
|
||||||
if (menuCookie != null)
|
if (menuCookie != null)
|
||||||
{
|
{
|
||||||
menuType = menuCookie.Value;
|
_menuType = menuCookie.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 注册客户端脚本,服务器端控件ID和客户端ID的映射关系
|
// 从Cookie中读取是否仅显示最新示例
|
||||||
JObject ids = GetClientIDS(btnExpandAll, btnCollapseAll, windowSourceCode, mainTabStrip);
|
HttpCookie menuShowOnlyNew = Request.Cookies["ShowOnlyNew_v4"];
|
||||||
|
if (menuShowOnlyNew != null)
|
||||||
if (menuType == "accordion")
|
|
||||||
{
|
{
|
||||||
Accordion accordionMenu = InitAccordionMenu();
|
_showOnlyNew = Convert.ToBoolean(menuShowOnlyNew.Value);
|
||||||
ids.Add("mainMenu", accordionMenu.ClientID);
|
}
|
||||||
ids.Add("menuType", "accordion");
|
|
||||||
|
|
||||||
|
if (_menuType == "accordion")
|
||||||
|
{
|
||||||
|
InitAccordionMenu();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Tree treeMenu = InitTreeMenu();
|
InitTreeMenu();
|
||||||
ids.Add("mainMenu", treeMenu.ClientID);
|
|
||||||
ids.Add("menuType", "menu");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ids.Add("theme", PageManager.Instance.Theme.ToString());
|
|
||||||
|
|
||||||
// 只在页面第一次加载时注册客户端用到的脚本
|
if (_showOnlyNew)
|
||||||
if (!Page.IsPostBack)
|
|
||||||
{
|
{
|
||||||
string idsScriptStr = String.Format("window.IDS={0};", ids.ToString(Newtonsoft.Json.Formatting.None));
|
leftPanel.Title = String.Format("最新示例({0})", _examplesCount);
|
||||||
PageContext.RegisterStartupScript(idsScriptStr);
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
leftPanel.Title = String.Format("全部示例({0})", _examplesCount);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Accordion InitAccordionMenu()
|
private Accordion InitAccordionMenu()
|
||||||
{
|
{
|
||||||
Accordion accordionMenu = new Accordion();
|
Accordion accordionMenu = new Accordion();
|
||||||
accordionMenu.ID = "accordionMenu";
|
accordionMenu.ID = "accordionMenu";
|
||||||
accordionMenu.EnableFill = true;
|
|
||||||
accordionMenu.ShowBorder = false;
|
accordionMenu.ShowBorder = false;
|
||||||
accordionMenu.ShowHeader = false;
|
accordionMenu.ShowHeader = false;
|
||||||
Region2.Items.Add(accordionMenu);
|
leftPanel.Items.Add(accordionMenu);
|
||||||
|
|
||||||
|
|
||||||
XmlDocument xmlDoc = XmlDataSource1.GetXmlDocument();
|
XmlDocument xmlDoc = XmlDataSource1.GetXmlDocument();
|
||||||
@ -73,22 +78,22 @@ namespace FineUI.Examples
|
|||||||
accordionMenu.Items.Add(accordionPane);
|
accordionMenu.Items.Add(accordionPane);
|
||||||
|
|
||||||
Tree innerTree = new Tree();
|
Tree innerTree = new Tree();
|
||||||
innerTree.EnableArrows = true;
|
|
||||||
innerTree.ShowBorder = false;
|
innerTree.ShowBorder = false;
|
||||||
innerTree.ShowHeader = false;
|
innerTree.ShowHeader = false;
|
||||||
innerTree.EnableIcons = false;
|
innerTree.EnableIcons = true;
|
||||||
innerTree.AutoScroll = true;
|
innerTree.AutoScroll = true;
|
||||||
|
innerTree.EnableSingleClickExpand = true;
|
||||||
accordionPane.Items.Add(innerTree);
|
accordionPane.Items.Add(innerTree);
|
||||||
|
|
||||||
XmlDocument innerXmlDoc = new XmlDocument();
|
XmlDocument doc = new XmlDocument();
|
||||||
innerXmlDoc.LoadXml(String.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Tree>{0}</Tree>", xmlNode.InnerXml));
|
doc.LoadXml(String.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Tree>{0}</Tree>", xmlNode.InnerXml));
|
||||||
|
ResolveXmlDocument(doc);
|
||||||
|
|
||||||
// 绑定AccordionPane内部的树控件
|
// 绑定AccordionPane内部的树控件
|
||||||
innerTree.DataSource = innerXmlDoc;
|
innerTree.NodeDataBound += treeMenu_NodeDataBound;
|
||||||
|
innerTree.PreNodeDataBound += treeMenu_PreNodeDataBound;
|
||||||
|
innerTree.DataSource = doc;
|
||||||
innerTree.DataBind();
|
innerTree.DataBind();
|
||||||
|
|
||||||
// 重新设置每个节点的图标
|
|
||||||
ResolveTreeNode(innerTree.Nodes);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,35 +104,175 @@ namespace FineUI.Examples
|
|||||||
{
|
{
|
||||||
Tree treeMenu = new Tree();
|
Tree treeMenu = new Tree();
|
||||||
treeMenu.ID = "treeMenu";
|
treeMenu.ID = "treeMenu";
|
||||||
treeMenu.EnableArrows = true;
|
|
||||||
treeMenu.ShowBorder = false;
|
treeMenu.ShowBorder = false;
|
||||||
treeMenu.ShowHeader = false;
|
treeMenu.ShowHeader = false;
|
||||||
treeMenu.EnableIcons = false;
|
treeMenu.EnableIcons = true;
|
||||||
treeMenu.AutoScroll = true;
|
treeMenu.AutoScroll = true;
|
||||||
Region2.Items.Add(treeMenu);
|
treeMenu.EnableSingleClickExpand = true;
|
||||||
|
leftPanel.Items.Add(treeMenu);
|
||||||
|
|
||||||
|
XmlDocument doc = XmlDataSource1.GetXmlDocument();
|
||||||
|
ResolveXmlDocument(doc);
|
||||||
|
|
||||||
// 绑定 XML 数据源到树控件
|
// 绑定 XML 数据源到树控件
|
||||||
treeMenu.DataSource = XmlDataSource1;
|
treeMenu.NodeDataBound += treeMenu_NodeDataBound;
|
||||||
|
treeMenu.PreNodeDataBound += treeMenu_PreNodeDataBound;
|
||||||
|
treeMenu.DataSource = doc;
|
||||||
treeMenu.DataBind();
|
treeMenu.DataBind();
|
||||||
|
|
||||||
// 重新设置每个节点的图标
|
|
||||||
ResolveTreeNode(treeMenu.Nodes);
|
|
||||||
|
|
||||||
return treeMenu;
|
return treeMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region ResolveXmlDocument
|
||||||
|
|
||||||
private JObject GetClientIDS(params ControlBase[] ctrls)
|
private void ResolveXmlDocument(XmlDocument doc)
|
||||||
{
|
{
|
||||||
JObject jo = new JObject();
|
ResolveXmlDocument(doc, doc.DocumentElement.ChildNodes);
|
||||||
foreach (ControlBase ctrl in ctrls)
|
}
|
||||||
|
|
||||||
|
private int ResolveXmlDocument(XmlDocument doc, XmlNodeList nodes)
|
||||||
|
{
|
||||||
|
// nodes 中渲染到页面上的节点个数
|
||||||
|
int nodeVisibleCount = 0;
|
||||||
|
|
||||||
|
foreach (XmlNode node in nodes)
|
||||||
{
|
{
|
||||||
jo.Add(ctrl.ID, ctrl.ClientID);
|
// Only process Xml elements (ignore comments, etc)
|
||||||
|
if (node.NodeType == XmlNodeType.Element)
|
||||||
|
{
|
||||||
|
XmlAttribute removedAttr;
|
||||||
|
|
||||||
|
// 是否叶子节点
|
||||||
|
bool isLeaf = node.ChildNodes.Count == 0;
|
||||||
|
|
||||||
|
|
||||||
|
// 所有过滤条件均是对叶子节点而言,而是否显示目录,要看是否存在叶子节点
|
||||||
|
if (isLeaf)
|
||||||
|
{
|
||||||
|
// 如果仅显示最新示例
|
||||||
|
if (_showOnlyNew)
|
||||||
|
{
|
||||||
|
XmlAttribute isNewAttr = node.Attributes["IsNew"];
|
||||||
|
if (isNewAttr == null)
|
||||||
|
{
|
||||||
|
removedAttr = doc.CreateAttribute("Removed");
|
||||||
|
removedAttr.Value = "true";
|
||||||
|
|
||||||
|
node.Attributes.Append(removedAttr);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 存在子节点
|
||||||
|
if (!isLeaf)
|
||||||
|
{
|
||||||
|
// 递归
|
||||||
|
int childVisibleCount = ResolveXmlDocument(doc, node.ChildNodes);
|
||||||
|
|
||||||
|
if (childVisibleCount == 0)
|
||||||
|
{
|
||||||
|
removedAttr = doc.CreateAttribute("Removed");
|
||||||
|
removedAttr.Value = "true";
|
||||||
|
|
||||||
|
node.Attributes.Append(removedAttr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
removedAttr = node.Attributes["Removed"];
|
||||||
|
if (removedAttr == null)
|
||||||
|
{
|
||||||
|
nodeVisibleCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return jo;
|
return nodeVisibleCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 树节点的绑定后事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void treeMenu_NodeDataBound(object sender, TreeNodeEventArgs e)
|
||||||
|
{
|
||||||
|
string isNewHtml = GetIsNewHtml(e.XmlNode);
|
||||||
|
if (!String.IsNullOrEmpty(isNewHtml))
|
||||||
|
{
|
||||||
|
e.Node.Text += isNewHtml;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果仅显示最新示例 并且 当前节点不是子节点,则展开当前节点
|
||||||
|
if (_showOnlyNew && !e.Node.Leaf)
|
||||||
|
{
|
||||||
|
e.Node.Expanded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 树节点的预绑定事件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="sender"></param>
|
||||||
|
/// <param name="e"></param>
|
||||||
|
private void treeMenu_PreNodeDataBound(object sender, TreePreNodeEventArgs e)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
// 如果仅显示最新示例
|
||||||
|
if (showOnlyNew)
|
||||||
|
{
|
||||||
|
string isNewHtml = GetIsNewHtml(e.XmlNode);
|
||||||
|
if (String.IsNullOrEmpty(isNewHtml))
|
||||||
|
{
|
||||||
|
e.Cancelled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新示例总数
|
||||||
|
if (e.XmlNode.ChildNodes.Count == 0)
|
||||||
|
{
|
||||||
|
examplesCount++;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 是否叶子节点
|
||||||
|
bool isLeaf = e.XmlNode.ChildNodes.Count == 0;
|
||||||
|
|
||||||
|
XmlAttribute removedAttr = e.XmlNode.Attributes["Removed"];
|
||||||
|
if (removedAttr != null)
|
||||||
|
{
|
||||||
|
e.Cancelled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isLeaf && !e.Cancelled)
|
||||||
|
{
|
||||||
|
_examplesCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private string GetIsNewHtml(XmlNode node)
|
||||||
|
{
|
||||||
|
string result = String.Empty;
|
||||||
|
|
||||||
|
XmlAttribute isNewAttr = node.Attributes["IsNew"];
|
||||||
|
if (isNewAttr != null)
|
||||||
|
{
|
||||||
|
if (Convert.ToBoolean(isNewAttr.Value))
|
||||||
|
{
|
||||||
|
result = " <span class=\"isnew\">New!</span>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Page_Load
|
#region Page_Load
|
||||||
@ -139,19 +284,25 @@ namespace FineUI.Examples
|
|||||||
InitMenuStyleButton();
|
InitMenuStyleButton();
|
||||||
InitLangMenuButton();
|
InitLangMenuButton();
|
||||||
InitThemeMenuButton();
|
InitThemeMenuButton();
|
||||||
|
InitMenuShowOnlyNew();
|
||||||
|
|
||||||
//// 显示源代码按钮
|
litVersion.Text = FineUI.GlobalConfig.ProductVersion;
|
||||||
//btnSourceCode.OnClientClick = windowSourceCode.GetShowReference("./common/source.aspx?files=~/default.aspx;~/common/menu.xml;~/Web.config;~/Code/PageBase.cs;~/js/default.js;~/css/default.css");
|
litOnlineUserCount.Text = Application["OnlineUserCount"].ToString();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void InitMenuShowOnlyNew()
|
||||||
|
{
|
||||||
|
cbxShowOnlyNew.Checked = _showOnlyNew;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void InitMenuStyleButton()
|
private void InitMenuStyleButton()
|
||||||
{
|
{
|
||||||
string menuStyleID = "MenuStyleTree";
|
string menuStyleID = "MenuStyleTree";
|
||||||
|
|
||||||
HttpCookie menuStyleCookie = Request.Cookies["MenuStyle"];
|
HttpCookie menuStyleCookie = Request.Cookies["MenuStyle_v4"];
|
||||||
if (menuStyleCookie != null)
|
if (menuStyleCookie != null)
|
||||||
{
|
{
|
||||||
switch (menuStyleCookie.Value)
|
switch (menuStyleCookie.Value)
|
||||||
@ -216,105 +367,6 @@ namespace FineUI.Examples
|
|||||||
SetSelectedMenuID(MenuTheme, themeMenuID);
|
SetSelectedMenuID(MenuTheme, themeMenuID);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Event
|
|
||||||
|
|
||||||
protected void MenuLang_CheckedChanged(object sender, CheckedEventArgs e)
|
|
||||||
{
|
|
||||||
// 单选框菜单按钮的CheckedChanged事件会触发两次,一次是取消选中的菜单项,另一次是选中的菜单项;
|
|
||||||
// 不处理取消选中菜单项的事件,从而防止此函数重复执行两次
|
|
||||||
if (!e.Checked)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
string langValue = FineUI.Language.ZH_CN.ToString();
|
|
||||||
string langID = GetSelectedMenuID(MenuLang);
|
|
||||||
|
|
||||||
switch (langID)
|
|
||||||
{
|
|
||||||
case "MenuLangZHCN":
|
|
||||||
langValue = FineUI.Language.ZH_CN.ToString();
|
|
||||||
break;
|
|
||||||
case "MenuLangZHTW":
|
|
||||||
langValue = FineUI.Language.ZH_TW.ToString();
|
|
||||||
break;
|
|
||||||
case "MenuLangEN":
|
|
||||||
langValue = FineUI.Language.EN.ToString();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
SaveToCookieAndRefresh("Language", langValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void MenuTheme_CheckedChanged(object sender, CheckedEventArgs e)
|
|
||||||
{
|
|
||||||
// 单选框菜单按钮的CheckedChanged事件会触发两次,一次是取消选中的菜单项,另一次是选中的菜单项;
|
|
||||||
// 不处理取消选中菜单项的事件,从而防止此函数重复执行两次
|
|
||||||
if (!e.Checked)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
string themeValue = FineUI.Theme.Neptune.ToString();
|
|
||||||
string themeID = GetSelectedMenuID(MenuTheme);
|
|
||||||
|
|
||||||
switch (themeID)
|
|
||||||
{
|
|
||||||
case "MenuThemeNeptune":
|
|
||||||
themeValue = FineUI.Theme.Neptune.ToString();
|
|
||||||
break;
|
|
||||||
case "MenuThemeBlue":
|
|
||||||
themeValue = FineUI.Theme.Blue.ToString();
|
|
||||||
break;
|
|
||||||
case "MenuThemeGray":
|
|
||||||
themeValue = FineUI.Theme.Gray.ToString();
|
|
||||||
break;
|
|
||||||
case "MenuThemeAccess":
|
|
||||||
themeValue = FineUI.Theme.Access.ToString();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
SaveToCookieAndRefresh("Theme", themeValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void MenuStyle_CheckedChanged(object sender, CheckedEventArgs e)
|
|
||||||
{
|
|
||||||
// 单选框菜单按钮的CheckedChanged事件会触发两次,一次是取消选中的菜单项,另一次是选中的菜单项;
|
|
||||||
// 不处理取消选中菜单项的事件,从而防止此函数重复执行两次
|
|
||||||
if (!e.Checked)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
string menuValue = "menu";
|
|
||||||
string menuStyleID = GetSelectedMenuID(MenuStyle);
|
|
||||||
|
|
||||||
switch (menuStyleID)
|
|
||||||
{
|
|
||||||
case "MenuStyleTree":
|
|
||||||
menuValue = "tree";
|
|
||||||
break;
|
|
||||||
case "MenuStyleAccordion":
|
|
||||||
menuValue = "accordion";
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
SaveToCookieAndRefresh("MenuStyle", menuValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
private string GetSelectedMenuID(MenuButton menuButton)
|
|
||||||
{
|
|
||||||
foreach (MenuItem item in menuButton.Menu.Items)
|
|
||||||
{
|
|
||||||
if (item is MenuCheckBox && (item as MenuCheckBox).Checked)
|
|
||||||
{
|
|
||||||
return item.ID;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SetSelectedMenuID(MenuButton menuButton, string selectedMenuID)
|
private void SetSelectedMenuID(MenuButton menuButton, string selectedMenuID)
|
||||||
{
|
{
|
||||||
@ -332,82 +384,8 @@ namespace FineUI.Examples
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void SaveToCookieAndRefresh(string cookieName, string cookieValue)
|
|
||||||
{
|
|
||||||
HttpCookie cookie = new HttpCookie(cookieName, cookieValue);
|
|
||||||
cookie.Expires = DateTime.Now.AddYears(1);
|
|
||||||
Response.Cookies.Add(cookie);
|
|
||||||
|
|
||||||
PageContext.Refresh();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Tree
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 重新设置每个节点的图标
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="nodes"></param>
|
|
||||||
private void ResolveTreeNode(TreeNodeCollection nodes)
|
|
||||||
{
|
|
||||||
foreach (TreeNode node in nodes)
|
|
||||||
{
|
|
||||||
if (node.Nodes.Count == 0)
|
|
||||||
{
|
|
||||||
if (!String.IsNullOrEmpty(node.NavigateUrl))
|
|
||||||
{
|
|
||||||
node.IconUrl = GetIconForTreeNode(node.NavigateUrl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ResolveTreeNode(node.Nodes);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 根据链接地址返回相应的图标
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="url"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
private string GetIconForTreeNode(string url)
|
|
||||||
{
|
|
||||||
url = url.ToLower();
|
|
||||||
int paramsIndex = url.IndexOf("?");
|
|
||||||
if (paramsIndex >= 0)
|
|
||||||
{
|
|
||||||
url = url.Substring(0, paramsIndex);
|
|
||||||
}
|
|
||||||
int lastDotIndex = url.LastIndexOf('.');
|
|
||||||
if (lastDotIndex >= 0)
|
|
||||||
{
|
|
||||||
url = url.Substring(lastDotIndex + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
string fileType = url;
|
|
||||||
|
|
||||||
string iconUrl = "~/images/filetype/vs_unknow.png";
|
|
||||||
if (fileType == "txt")
|
|
||||||
{
|
|
||||||
iconUrl = "~/images/filetype/vs_txt.png";
|
|
||||||
}
|
|
||||||
else if (fileType == "aspx")
|
|
||||||
{
|
|
||||||
iconUrl = "~/images/filetype/vs_aspx.png";
|
|
||||||
}
|
|
||||||
else if (fileType == "htm" || fileType == "html")
|
|
||||||
{
|
|
||||||
iconUrl = "~/images/filetype/vs_htm.png";
|
|
||||||
}
|
|
||||||
|
|
||||||
return iconUrl;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
177
FineUI.Examples/default.aspx.designer.cs
generated
177
FineUI.Examples/default.aspx.designer.cs
generated
@ -49,22 +49,112 @@ namespace FineUI.Examples {
|
|||||||
protected global::FineUI.Region Region1;
|
protected global::FineUI.Region Region1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ContentPanel1 控件。
|
/// leftPanel 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.ContentPanel ContentPanel1;
|
protected global::FineUI.Region leftPanel;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Button2 控件。
|
/// mainRegion 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.Button Button2;
|
protected global::FineUI.Region mainRegion;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// mainTabStrip 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.TabStrip mainTabStrip;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ToolbarFill2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.ToolbarFill ToolbarFill2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnGotoOpenSourceSite 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnGotoOpenSourceSite;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// ToolbarSeparator2 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.ToolbarSeparator ToolbarSeparator2;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Button1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button Button1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// bottomPanel 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Region bottomPanel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// litVersion 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Literal litVersion;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// litOnlineUserCount 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Literal litOnlineUserCount;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// windowSourceCode 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Window windowSourceCode;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// menuSettings 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Menu menuSettings;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// btnExpandAll 控件。
|
/// btnExpandAll 控件。
|
||||||
@ -84,6 +174,24 @@ namespace FineUI.Examples {
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.MenuButton btnCollapseAll;
|
protected global::FineUI.MenuButton btnCollapseAll;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// MenuSeparator4 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.MenuSeparator MenuSeparator4;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// cbxShowOnlyNew 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.MenuCheckBox cbxShowOnlyNew;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// MenuSeparator1 控件。
|
/// MenuSeparator1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -211,85 +319,40 @@ namespace FineUI.Examples {
|
|||||||
protected global::FineUI.MenuSeparator MenuSeparator2;
|
protected global::FineUI.MenuSeparator MenuSeparator2;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Region2 控件。
|
/// MenuHyperLink2 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.Region Region2;
|
protected global::FineUI.MenuHyperLink MenuHyperLink2;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// mainRegion 控件。
|
/// MenuHyperLink1 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.Region mainRegion;
|
protected global::FineUI.MenuHyperLink MenuHyperLink1;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// mainTabStrip 控件。
|
/// MenuSeparator3 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.TabStrip mainTabStrip;
|
protected global::FineUI.MenuSeparator MenuSeparator3;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ToolbarFill2 控件。
|
/// MenuHyperLink3 控件。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// 自动生成的字段。
|
/// 自动生成的字段。
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::FineUI.ToolbarFill ToolbarFill2;
|
protected global::FineUI.MenuHyperLink MenuHyperLink3;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// btnGotoOpenSourceSite 控件。
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// 自动生成的字段。
|
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|
||||||
/// </remarks>
|
|
||||||
protected global::FineUI.Button btnGotoOpenSourceSite;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ToolbarSeparator1 控件。
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// 自动生成的字段。
|
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|
||||||
/// </remarks>
|
|
||||||
protected global::FineUI.ToolbarSeparator ToolbarSeparator1;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// ToolbarSeparator2 控件。
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// 自动生成的字段。
|
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|
||||||
/// </remarks>
|
|
||||||
protected global::FineUI.ToolbarSeparator ToolbarSeparator2;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Button1 控件。
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// 自动生成的字段。
|
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|
||||||
/// </remarks>
|
|
||||||
protected global::FineUI.Button Button1;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// windowSourceCode 控件。
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// 自动生成的字段。
|
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
|
||||||
/// </remarks>
|
|
||||||
protected global::FineUI.Window windowSourceCode;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// XmlDataSource1 控件。
|
/// XmlDataSource1 控件。
|
||||||
|
@ -5,26 +5,27 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableCollapse="true"
|
||||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList runat="server" ID="DropDownList1">
|
<f:DropDownList runat="server" ID="DropDownList1">
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click"
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
CssClass="inline">
|
CssClass="marginr">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:Label runat="server" ID="labResult">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
<br />
|
<br />
|
||||||
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
<br />
|
<br />
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
@ -49,15 +49,15 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
private void BindEnumrableToDropDownList()
|
private void BindEnumrableToDropDownList()
|
||||||
{
|
{
|
||||||
List<CustomClass> myList = new List<CustomClass>();
|
List<CustomClass> myList = new List<CustomClass>();
|
||||||
myList.Add(new CustomClass("1", "选项 1"));
|
myList.Add(new CustomClass("1", "可选项1"));
|
||||||
myList.Add(new CustomClass("2", "选项 2"));
|
myList.Add(new CustomClass("2", "可选项2"));
|
||||||
myList.Add(new CustomClass("3", "选项 3"));
|
myList.Add(new CustomClass("3", "可选项3"));
|
||||||
myList.Add(new CustomClass("4", "选项 4"));
|
myList.Add(new CustomClass("4", "可选项4"));
|
||||||
myList.Add(new CustomClass("5", "选项 5"));
|
myList.Add(new CustomClass("5", "可选项5"));
|
||||||
myList.Add(new CustomClass("6", "选项 6"));
|
myList.Add(new CustomClass("6", "可选项6"));
|
||||||
myList.Add(new CustomClass("7", "选项 7"));
|
myList.Add(new CustomClass("7", "可选择项7"));
|
||||||
myList.Add(new CustomClass("8", "选项 8"));
|
myList.Add(new CustomClass("8", "可选择项8"));
|
||||||
myList.Add(new CustomClass("9", "选项 9"));
|
myList.Add(new CustomClass("9", "可选择项9"));
|
||||||
|
|
||||||
DropDownList1.DataTextField = "Name";
|
DropDownList1.DataTextField = "Name";
|
||||||
DropDownList1.DataValueField = "ID";
|
DropDownList1.DataValueField = "ID";
|
||||||
@ -81,6 +81,10 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
{
|
{
|
||||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -5,23 +5,24 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableCollapse="true"
|
||||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList runat="server" ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
|
<f:DropDownList runat="server" ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click">
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:Label runat="server" ID="labResult">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
<br />
|
<br />
|
||||||
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
<br />
|
<br />
|
||||||
注:这个下拉列表在选择项改变时自动回发。
|
注:这个下拉列表在选择项改变时自动回发。
|
||||||
</form>
|
</form>
|
||||||
|
@ -28,47 +28,47 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
table.Columns.Add(column2);
|
table.Columns.Add(column2);
|
||||||
|
|
||||||
DataRow row = table.NewRow();
|
DataRow row = table.NewRow();
|
||||||
row[0] = "选项 1";
|
row[0] = "可选项1";
|
||||||
row[1] = "1";
|
row[1] = "1";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
|
|
||||||
row[0] = "选项 2";
|
row[0] = "可选项2";
|
||||||
row[1] = "2";
|
row[1] = "2";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = "选项 3";
|
row[0] = "可选项3";
|
||||||
row[1] = "3";
|
row[1] = "3";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = "选项 4";
|
row[0] = "可选项4";
|
||||||
row[1] = "4";
|
row[1] = "4";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = "选项 5";
|
row[0] = "可选项5";
|
||||||
row[1] = "5";
|
row[1] = "5";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = "选项 6";
|
row[0] = "可选项6";
|
||||||
row[1] = "6";
|
row[1] = "6";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = "选项 7";
|
row[0] = "可选择项7";
|
||||||
row[1] = "7";
|
row[1] = "7";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = "选项 8";
|
row[0] = "可选择项8";
|
||||||
row[1] = "8";
|
row[1] = "8";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
row = table.NewRow();
|
row = table.NewRow();
|
||||||
row[0] = "选项 9";
|
row[0] = "可选择项9";
|
||||||
row[1] = "9";
|
row[1] = "9";
|
||||||
table.Rows.Add(row);
|
table.Rows.Add(row);
|
||||||
|
|
||||||
@ -98,6 +98,10 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
{
|
{
|
||||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -5,26 +5,27 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableCollapse="true"
|
||||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList runat="server" ID="DropDownList1">
|
<f:DropDownList runat="server" ID="DropDownList1">
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click"
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
CssClass="inline">
|
CssClass="marginr">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:Label runat="server" ID="labResult">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
<br />
|
<br />
|
||||||
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
<br />
|
<br />
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
@ -22,15 +22,15 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
private void BindStringListToDropDownList()
|
private void BindStringListToDropDownList()
|
||||||
{
|
{
|
||||||
List<string> strList = new List<string>();
|
List<string> strList = new List<string>();
|
||||||
strList.Add("选项 1");
|
strList.Add("可选项1");
|
||||||
strList.Add("选项 2");
|
strList.Add("可选项2");
|
||||||
strList.Add("选项 3");
|
strList.Add("可选项3");
|
||||||
strList.Add("选项 4");
|
strList.Add("可选项4");
|
||||||
strList.Add("选项 5");
|
strList.Add("可选项5");
|
||||||
strList.Add("选项 6");
|
strList.Add("可选项6");
|
||||||
strList.Add("选项 7");
|
strList.Add("可选择项7");
|
||||||
strList.Add("选项 8");
|
strList.Add("可选择项8");
|
||||||
strList.Add("选项 9");
|
strList.Add("可选择项9");
|
||||||
strList.Add("这是一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选项");
|
strList.Add("这是一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选项");
|
||||||
|
|
||||||
DropDownList1.DataSource = strList;
|
DropDownList1.DataSource = strList;
|
||||||
@ -43,7 +43,7 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
|
|
||||||
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DropDownList1.SelectedValue = "选项 6";
|
DropDownList1.SelectedValue = "可选项6";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void btnGetSelection_Click(object sender, EventArgs e)
|
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||||
@ -52,6 +52,10 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
{
|
{
|
||||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -4,57 +4,40 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableCollapse="true"
|
||||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList runat="server" ID="DropDownList1">
|
<f:DropDownList runat="server" ID="DropDownList1">
|
||||||
<x:ListItem Text="选项 1" Value="Value1" Selected="true" />
|
<f:ListItem Text="可选项1" Value="Value1" Selected="true" />
|
||||||
<x:ListItem Text="选项 2(不可选择)" Value="Value2" EnableSelect="false" />
|
<f:ListItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
|
||||||
<x:ListItem Text="选项 3(不可选择)" Value="Value3" EnableSelect="false" />
|
<f:ListItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
|
||||||
<x:ListItem Text="选项 4" Value="Value4" />
|
<f:ListItem Text="可选项4" Value="Value4" />
|
||||||
<x:ListItem Text="选项 5" Value="Value5" />
|
<f:ListItem Text="可选项5" Value="Value5" />
|
||||||
<x:ListItem Text="选项 6" Value="Value6" />
|
<f:ListItem Text="可选项6" Value="Value6" />
|
||||||
<x:ListItem Text="选项 7" Value="Value7" />
|
<f:ListItem Text="可选择项7" Value="Value7" />
|
||||||
<x:ListItem Text="选项 8" Value="Value8" />
|
<f:ListItem Text="可选择项8" Value="Value8" />
|
||||||
<x:ListItem Text="选项 9" Value="Value9" />
|
<f:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
||||||
<x:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
<f:ListItem Text="一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value11" />
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
|
CssClass="marginr">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
|
</f:Button>
|
||||||
|
|
||||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click"
|
|
||||||
CssClass="inline">
|
|
||||||
</x:Button>
|
|
||||||
<x:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
|
||||||
</x:Button>
|
|
||||||
|
|
||||||
<x:Label runat="server" ID="labResult">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
|
<br />
|
||||||
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
</form>
|
</form>
|
||||||
<script type="text/javascript">
|
|
||||||
function onReady() {
|
|
||||||
|
|
||||||
//X.util.setHiddenFieldValue('X_STATE', JSON.stringify(X.ajax.getXState()));
|
|
||||||
// document.write(Ext.get("X_STATE").dom.value);
|
|
||||||
|
|
||||||
//document.write(JSON.stringify(X.ajax.getXState()));
|
|
||||||
//document.write(Ext.encode(X.ajax.getXState()));
|
|
||||||
|
|
||||||
//X.util.setHiddenFieldValue("TestNode1", '{"X_Items":[["Value1","选项 1",1],["Value2","选项 2(不可选择)",0],["Value3","选项 3(不可选择)",0],["Value4","选项 4",1],["Value5","选项 5",1],["Value6","选项 6",1],["Value7","选项 7",1],["Value8","选项 8",1],["Value9","选项 9",1]],"SelectedValue":"Value1"}');
|
|
||||||
//var nodeValue = Ext.get("TestNode1").dom.value;
|
|
||||||
//document.write("nodeValue:" + nodeValue + " encodeURIComponent(nodeValue):" + encodeURIComponent(nodeValue));
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
// document.write(Ext.lib.Ajax.serializeForm('form1')); //encodeURIComponent('\u9009')
|
|
||||||
//document.write(encodeURIComponent('Value1","选项 1",1],["Value2"'));
|
|
||||||
//document.write(encodeURIComponent('{"X_Items":[["Value1","选项 1",1],["Value2","选项 2(不可选择)",0],["Value3","选项 3(不可选择)",0],["Value4","选项 4",1],["Value5","选项 5",1],["Value6","选项 6",1],["Value7","选项 7",1],["Value8","选项 8",1],["Value9","选项 9",1]],"SelectedValue":"Value1"}'));
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -28,6 +28,10 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
{
|
{
|
||||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,39 +5,41 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableCollapse="true"
|
||||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
|
<f:DropDownList runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
|
||||||
ID="DropDownList1">
|
ID="DropDownList1">
|
||||||
<x:ListItem Text="选项 1" Value="Value1" Selected="true" />
|
<f:ListItem Text="可选项1" Value="Value1" Selected="true" />
|
||||||
<x:ListItem Text="选项 2(不可选择)" Value="Value2" EnableSelect="false" />
|
<f:ListItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
|
||||||
<x:ListItem Text="选项 3(不可选择)" Value="Value3" EnableSelect="false" />
|
<f:ListItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
|
||||||
<x:ListItem Text="选项 4" Value="Value4" />
|
<f:ListItem Text="可选项4" Value="Value4" />
|
||||||
<x:ListItem Text="选项 5" Value="Value5" />
|
<f:ListItem Text="可选项5" Value="Value5" />
|
||||||
<x:ListItem Text="选项 6" />
|
<f:ListItem Text="可选项6" />
|
||||||
<x:ListItem Text="选项 7" Value="Value7" />
|
<f:ListItem Text="可选择项7" Value="Value7" />
|
||||||
<x:ListItem Text="选项 8" Value="Value8" />
|
<f:ListItem Text="可选择项8" Value="Value8" />
|
||||||
<x:ListItem Text="选项 9" Value="Value9" />
|
<f:ListItem Text="可选择项9" Value="Value9" />
|
||||||
<x:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
<f:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
|
CssClass="marginr">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
|
</f:Button>
|
||||||
|
|
||||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click"
|
|
||||||
CssClass="inline">
|
|
||||||
</x:Button>
|
|
||||||
<x:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
|
||||||
</x:Button>
|
|
||||||
<x:Label runat="server" ID="labResult">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
<br />
|
<br />
|
||||||
注:“选项 6”的Value属性为空字符串。
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
|
<br />
|
||||||
|
注:“可选项6”的Value属性为空字符串。
|
||||||
|
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
@ -41,6 +41,10 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
{
|
{
|
||||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,38 +5,39 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableCollapse="true"
|
||||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList runat="server" ID="DropDownList1" EnableEdit="true" ForceSelection="true">
|
<f:DropDownList runat="server" ID="DropDownList1" EnableEdit="true" ForceSelection="true">
|
||||||
<x:ListItem Text="选项 1" Value="Value1" Selected="true" />
|
<f:ListItem Text="可选项1" Value="Value1" Selected="true" />
|
||||||
<x:ListItem Text="选项 2(不可选择)" Value="Value2" EnableSelect="false" />
|
<f:ListItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
|
||||||
<x:ListItem Text="选项 3(不可选择)" Value="Value3" EnableSelect="false" />
|
<f:ListItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
|
||||||
<x:ListItem Text="选项 4" Value="Value4" />
|
<f:ListItem Text="可选项4" Value="Value4" />
|
||||||
<x:ListItem Text="选项 5" Value="Value5" />
|
<f:ListItem Text="可选项5" Value="Value5" />
|
||||||
<x:ListItem Text="选项 6" Value="Value6" />
|
<f:ListItem Text="可选项6" Value="Value6" />
|
||||||
<x:ListItem Text="选项 7" Value="Value7" />
|
<f:ListItem Text="可选择项7" Value="Value7" />
|
||||||
<x:ListItem Text="选项 8" Value="Value8" />
|
<f:ListItem Text="可选择项8" Value="Value8" />
|
||||||
<x:ListItem Text="选项 9" Value="Value9" />
|
<f:ListItem Text="可选择项9" Value="Value9" />
|
||||||
<x:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
<f:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
|
CssClass="marginr">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
|
</f:Button>
|
||||||
|
|
||||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click"
|
|
||||||
CssClass="inline">
|
|
||||||
</x:Button>
|
|
||||||
<x:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
|
||||||
</x:Button>
|
|
||||||
|
|
||||||
<x:Label runat="server" ID="labResult">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
<br />
|
<br />
|
||||||
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
<br />
|
<br />
|
||||||
注:下拉列表的属性设置为EnableEdit="true" ForceSelection="true"。
|
注:下拉列表的属性设置为EnableEdit="true" ForceSelection="true"。
|
||||||
</form>
|
</form>
|
||||||
|
@ -28,7 +28,10 @@ namespace FineUI.Examples.dropdownlist
|
|||||||
{
|
{
|
||||||
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,38 +5,39 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableCollapse="true"
|
||||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList runat="server" ID="DropDownList1" EnableEdit="true" ForceSelection="false">
|
<f:DropDownList runat="server" ID="DropDownList1" EnableEdit="true" ForceSelection="false">
|
||||||
<x:ListItem Text="选项 1" Value="Value1" Selected="true" />
|
<f:ListItem Text="可选项1" Value="Value1" Selected="true" />
|
||||||
<x:ListItem Text="选项 2(不可选择)" Value="Value2" EnableSelect="false" />
|
<f:ListItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
|
||||||
<x:ListItem Text="选项 3(不可选择)" Value="Value3" EnableSelect="false" />
|
<f:ListItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
|
||||||
<x:ListItem Text="选项 4" Value="Value4" />
|
<f:ListItem Text="可选项4" Value="Value4" />
|
||||||
<x:ListItem Text="选项 5" Value="Value5" />
|
<f:ListItem Text="可选项5" Value="Value5" />
|
||||||
<x:ListItem Text="选项 6" Value="Value6" />
|
<f:ListItem Text="可选项6" Value="Value6" />
|
||||||
<x:ListItem Text="选项 7" Value="Value7" />
|
<f:ListItem Text="可选择项7" Value="Value7" />
|
||||||
<x:ListItem Text="选项 8" Value="Value8" />
|
<f:ListItem Text="可选择项8" Value="Value8" />
|
||||||
<x:ListItem Text="选项 9" Value="Value9" />
|
<f:ListItem Text="可选择项9" Value="Value9" />
|
||||||
<x:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
<f:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
|
CssClass="marginr">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
|
</f:Button>
|
||||||
|
|
||||||
<x:Button ID="btnSelectItem6" Text="选中“选项 6”" runat="server" OnClick="btnSelectItem6_Click"
|
|
||||||
CssClass="inline">
|
|
||||||
</x:Button>
|
|
||||||
<x:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
|
||||||
</x:Button>
|
|
||||||
|
|
||||||
<x:Label runat="server" ID="labResult">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
<br />
|
<br />
|
||||||
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
<br />
|
<br />
|
||||||
注:下拉列表的属性设置为EnableEdit="true" ForceSelection="false"。
|
注:下拉列表的属性设置为EnableEdit="true" ForceSelection="false"。
|
||||||
</form>
|
</form>
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dropdownlist_matchfieldwidth.aspx.cs" Inherits="FineUI.Examples.dropdownlist.dropdownlist_matchfieldwidth" %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head runat="server">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title></title>
|
||||||
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="450px" EnableCollapse="true"
|
||||||
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
|
<Items>
|
||||||
|
<f:DropDownList runat="server" ID="DropDownList1" MatchFieldWidth="false">
|
||||||
|
<f:ListItem Text="可选项1" Value="Value1" Selected="true" />
|
||||||
|
<f:ListItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
|
||||||
|
<f:ListItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
|
||||||
|
<f:ListItem Text="可选项4" Value="Value4" />
|
||||||
|
<f:ListItem Text="可选项5" Value="Value5" />
|
||||||
|
<f:ListItem Text="可选项6" Value="Value6" />
|
||||||
|
<f:ListItem Text="可选择项7" Value="Value7" />
|
||||||
|
<f:ListItem Text="可选择项8" Value="Value8" />
|
||||||
|
<f:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
||||||
|
<f:ListItem Text="一个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value11" />
|
||||||
|
<f:ListItem Text="二个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value12" />
|
||||||
|
<f:ListItem Text="三个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value13" />
|
||||||
|
<f:ListItem Text="四个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value14" />
|
||||||
|
<f:ListItem Text="五个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value15" />
|
||||||
|
<f:ListItem Text="六个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value16" />
|
||||||
|
<f:ListItem Text="七个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value17" />
|
||||||
|
<f:ListItem Text="八个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value18" />
|
||||||
|
<f:ListItem Text="九个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value19" />
|
||||||
|
<f:ListItem Text="十个很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长的可选择项" Value="Value20" />
|
||||||
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
|
CssClass="marginr">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
|
</f:Button>
|
||||||
|
</Items>
|
||||||
|
</f:SimpleForm>
|
||||||
|
<br />
|
||||||
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
注:ExtJS这个地方有问题,可能会有横向滚动体出来。<a href="http://fineui.com/demo_pro/#/demo_pro/dropdownlist/dropdownlist_matchfieldwidth.aspx">查看专业版示例</a>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,40 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
|
namespace FineUI.Examples.dropdownlist
|
||||||
|
{
|
||||||
|
public partial class dropdownlist_matchfieldwidth : PageBase
|
||||||
|
{
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DropDownList1.SelectedValue = "Value6";
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (DropDownList1.SelectedItem != null)
|
||||||
|
{
|
||||||
|
labResult.Text = String.Format("选中项:{0}(值:{1})", DropDownList1.SelectedItem.Text, DropDownList1.SelectedValue);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
78
FineUI.Examples/dropdownlist/dropdownlist_matchfieldwidth.aspx.designer.cs
generated
Normal file
78
FineUI.Examples/dropdownlist/dropdownlist_matchfieldwidth.aspx.designer.cs
generated
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUI.Examples.dropdownlist {
|
||||||
|
|
||||||
|
|
||||||
|
public partial class dropdownlist_matchfieldwidth {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// form1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PageManager1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.PageManager PageManager1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SimpleForm1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.SimpleForm SimpleForm1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DropDownList1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.DropDownList DropDownList1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSelectItem6 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnSelectItem6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnGetSelection 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnGetSelection;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// labResult 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Label labResult;
|
||||||
|
}
|
||||||
|
}
|
@ -5,26 +5,27 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" LabelWidth="150px" Width="650px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" LabelWidth="150px" Width="550px" EnableCollapse="true"
|
||||||
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList Label="模拟树的下拉列表" AutoPostBack="false" Required="true" EnableSimulateTree="true"
|
<f:DropDownList Label="模拟树的下拉列表" AutoPostBack="false" Required="true" EnableSimulateTree="true"
|
||||||
ShowRedStar="true" runat="server" ID="ddlBox">
|
ShowRedStar="true" runat="server" ID="ddlBox">
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="Button1" Text="获取选中项" runat="server" OnClick="Button1_Click">
|
||||||
|
</f:Button>
|
||||||
|
|
||||||
<x:Button ID="Button1" Text="获取选中项" runat="server" OnClick="Button1_Click">
|
|
||||||
</x:Button>
|
|
||||||
|
|
||||||
<x:Label runat="server" ID="labResult">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
<br />
|
<br />
|
||||||
|
<f:Label runat="server" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
<br />
|
<br />
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
@ -105,6 +105,10 @@ namespace FineUI.Examples.data
|
|||||||
{
|
{
|
||||||
labResult.Text = String.Format("选中项:{0}(值:{1})", ddlBox.SelectedText, ddlBox.SelectedValue);
|
labResult.Text = String.Format("选中项:{0}(值:{1})", ddlBox.SelectedText, ddlBox.SelectedValue);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
43
FineUI.Examples/dropdownlist/multiselect.aspx
Normal file
43
FineUI.Examples/dropdownlist/multiselect.aspx
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="multiselect.aspx.cs" Inherits="FineUI.Examples.dropdownlist.multiselect" %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head runat="server">
|
||||||
|
<title></title>
|
||||||
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableCollapse="true"
|
||||||
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
|
<Items>
|
||||||
|
<f:DropDownList runat="server" ID="DropDownList1" EnableMultiSelect="true">
|
||||||
|
<f:ListItem Text="可选项1" Value="Value1" Selected="true" />
|
||||||
|
<f:ListItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
|
||||||
|
<f:ListItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
|
||||||
|
<f:ListItem Text="可选项4" Value="Value4" Selected="true" />
|
||||||
|
<f:ListItem Text="可选项5" Value="Value5" />
|
||||||
|
<f:ListItem Text="可选项6" Value="Value6" />
|
||||||
|
<f:ListItem Text="可选择项7" Value="Value7" />
|
||||||
|
<f:ListItem Text="可选择项8" Value="Value8" />
|
||||||
|
<f:ListItem Text="可选择项9" Value="Value9" />
|
||||||
|
<f:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
||||||
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
|
CssClass="marginr">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
|
</f:Button>
|
||||||
|
|
||||||
|
|
||||||
|
</Items>
|
||||||
|
</f:SimpleForm>
|
||||||
|
<br />
|
||||||
|
<f:Label runat="server" EncodeText="false" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
51
FineUI.Examples/dropdownlist/multiselect.aspx.cs
Normal file
51
FineUI.Examples/dropdownlist/multiselect.aspx.cs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using System.Data;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace FineUI.Examples.dropdownlist
|
||||||
|
{
|
||||||
|
public partial class multiselect : PageBase
|
||||||
|
{
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DropDownList1.SelectedValue = "Value6";
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (DropDownList1.SelectedItem != null)
|
||||||
|
{
|
||||||
|
List<string> texts = new List<string>();
|
||||||
|
List<string> values = new List<string>();
|
||||||
|
foreach (ListItem item in DropDownList1.SelectedItemArray)
|
||||||
|
{
|
||||||
|
texts.Add(item.Text);
|
||||||
|
values.Add(item.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
labResult.Text = String.Format("选中项文本:{0}<br/>选中项值:{1}",
|
||||||
|
String.Join(" ", texts.ToArray()),
|
||||||
|
String.Join(" ", values.ToArray()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
78
FineUI.Examples/dropdownlist/multiselect.aspx.designer.cs
generated
Normal file
78
FineUI.Examples/dropdownlist/multiselect.aspx.designer.cs
generated
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUI.Examples.dropdownlist {
|
||||||
|
|
||||||
|
|
||||||
|
public partial class multiselect {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// form1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PageManager1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.PageManager PageManager1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SimpleForm1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.SimpleForm SimpleForm1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DropDownList1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.DropDownList DropDownList1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSelectItem6 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnSelectItem6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnGetSelection 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnGetSelection;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// labResult 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Label labResult;
|
||||||
|
}
|
||||||
|
}
|
43
FineUI.Examples/dropdownlist/multiselect_autopostback.aspx
Normal file
43
FineUI.Examples/dropdownlist/multiselect_autopostback.aspx
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="multiselect_autopostback.aspx.cs" Inherits="FineUI.Examples.dropdownlist.multiselect_autopostback" %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head runat="server">
|
||||||
|
<title></title>
|
||||||
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableCollapse="true"
|
||||||
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
|
<Items>
|
||||||
|
<f:DropDownList runat="server" ID="DropDownList1" EnableMultiSelect="true" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
|
||||||
|
<f:ListItem Text="可选项1" Value="Value1" Selected="true" />
|
||||||
|
<f:ListItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
|
||||||
|
<f:ListItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
|
||||||
|
<f:ListItem Text="可选项4" Value="Value4" Selected="true" />
|
||||||
|
<f:ListItem Text="可选项5" Value="Value5" />
|
||||||
|
<f:ListItem Text="可选项6" Value="Value6" />
|
||||||
|
<f:ListItem Text="可选择项7" Value="Value7" />
|
||||||
|
<f:ListItem Text="可选择项8" Value="Value8" />
|
||||||
|
<f:ListItem Text="可选择项9" Value="Value9" />
|
||||||
|
<f:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
||||||
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
|
CssClass="marginr">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
|
</f:Button>
|
||||||
|
|
||||||
|
|
||||||
|
</Items>
|
||||||
|
</f:SimpleForm>
|
||||||
|
<br />
|
||||||
|
<f:Label runat="server" EncodeText="false" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,59 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using System.Data;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace FineUI.Examples.dropdownlist
|
||||||
|
{
|
||||||
|
public partial class multiselect_autopostback : PageBase
|
||||||
|
{
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DropDownList1.SelectedValue = "Value6";
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
WriteSelection();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
WriteSelection();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void WriteSelection()
|
||||||
|
{
|
||||||
|
if (DropDownList1.SelectedItem != null)
|
||||||
|
{
|
||||||
|
List<string> texts = new List<string>();
|
||||||
|
List<string> values = new List<string>();
|
||||||
|
foreach (ListItem item in DropDownList1.SelectedItemArray)
|
||||||
|
{
|
||||||
|
texts.Add(item.Text);
|
||||||
|
values.Add(item.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
labResult.Text = String.Format("选中项文本:{0}<br/>选中项值:{1}",
|
||||||
|
String.Join(" ", texts.ToArray()),
|
||||||
|
String.Join(" ", values.ToArray()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
78
FineUI.Examples/dropdownlist/multiselect_autopostback.aspx.designer.cs
generated
Normal file
78
FineUI.Examples/dropdownlist/multiselect_autopostback.aspx.designer.cs
generated
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUI.Examples.dropdownlist {
|
||||||
|
|
||||||
|
|
||||||
|
public partial class multiselect_autopostback {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// form1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PageManager1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.PageManager PageManager1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SimpleForm1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.SimpleForm SimpleForm1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DropDownList1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.DropDownList DropDownList1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSelectItem6 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnSelectItem6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnGetSelection 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnGetSelection;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// labResult 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Label labResult;
|
||||||
|
}
|
||||||
|
}
|
46
FineUI.Examples/dropdownlist/multiselect_enableedit.aspx
Normal file
46
FineUI.Examples/dropdownlist/multiselect_enableedit.aspx
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="multiselect_enableedit.aspx.cs" Inherits="FineUI.Examples.dropdownlist.multiselect_enableedit" %>
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head runat="server">
|
||||||
|
<title></title>
|
||||||
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="form1" runat="server">
|
||||||
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
|
<f:SimpleForm ID="SimpleForm1" BodyPadding="5px" runat="server" Width="550px" EnableCollapse="true"
|
||||||
|
ShowBorder="True" Title="简单表单" ShowHeader="True">
|
||||||
|
<Items>
|
||||||
|
<f:DropDownList runat="server" ID="DropDownList1" EnableMultiSelect="true" EnableEdit="true" >
|
||||||
|
<f:ListItem Text="可选项1" Value="Value1" Selected="true" />
|
||||||
|
<f:ListItem Text="可选项2(不可选择)" Value="Value2" EnableSelect="false" />
|
||||||
|
<f:ListItem Text="可选项3(不可选择)" Value="Value3" EnableSelect="false" />
|
||||||
|
<f:ListItem Text="可选项4" Value="Value4" Selected="true" />
|
||||||
|
<f:ListItem Text="可选项5" Value="Value5" />
|
||||||
|
<f:ListItem Text="可选项6" Value="Value6" />
|
||||||
|
<f:ListItem Text="可选择项7" Value="Value7" />
|
||||||
|
<f:ListItem Text="可选择项8" Value="Value8" />
|
||||||
|
<f:ListItem Text="可选择项9" Value="Value9" />
|
||||||
|
<f:ListItem Text="普通型1 < L > 1.5" Value="普通型1 < L > 1.5" />
|
||||||
|
</f:DropDownList>
|
||||||
|
|
||||||
|
<f:Button ID="btnSelectItem6" Text="选中“可选项6”" runat="server" OnClick="btnSelectItem6_Click"
|
||||||
|
CssClass="marginr">
|
||||||
|
</f:Button>
|
||||||
|
<f:Button ID="btnGetSelection" Text="获取此下拉列表的选中项" runat="server" OnClick="btnGetSelection_Click">
|
||||||
|
</f:Button>
|
||||||
|
|
||||||
|
|
||||||
|
</Items>
|
||||||
|
</f:SimpleForm>
|
||||||
|
<br />
|
||||||
|
<f:Label runat="server" EncodeText="false" ID="labResult">
|
||||||
|
</f:Label>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
注:ExtJS的实现不完善,多选时不支持键盘输入过滤。
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
51
FineUI.Examples/dropdownlist/multiselect_enableedit.aspx.cs
Normal file
51
FineUI.Examples/dropdownlist/multiselect_enableedit.aspx.cs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using System.Data;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace FineUI.Examples.dropdownlist
|
||||||
|
{
|
||||||
|
public partial class multiselect_enableedit : PageBase
|
||||||
|
{
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnSelectItem6_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DropDownList1.SelectedValue = "Value6";
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void btnGetSelection_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (DropDownList1.SelectedItem != null)
|
||||||
|
{
|
||||||
|
List<string> texts = new List<string>();
|
||||||
|
List<string> values = new List<string>();
|
||||||
|
foreach (ListItem item in DropDownList1.SelectedItemArray)
|
||||||
|
{
|
||||||
|
texts.Add(item.Text);
|
||||||
|
values.Add(item.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
labResult.Text = String.Format("选中项文本:{0}<br/>选中项值:{1}",
|
||||||
|
String.Join(" ", texts.ToArray()),
|
||||||
|
String.Join(" ", values.ToArray()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
labResult.Text = "无选中项";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
78
FineUI.Examples/dropdownlist/multiselect_enableedit.aspx.designer.cs
generated
Normal file
78
FineUI.Examples/dropdownlist/multiselect_enableedit.aspx.designer.cs
generated
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <自动生成>
|
||||||
|
// 此代码由工具生成。
|
||||||
|
//
|
||||||
|
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||||
|
// 重新生成代码,这些更改将会丢失。
|
||||||
|
// </自动生成>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace FineUI.Examples.dropdownlist {
|
||||||
|
|
||||||
|
|
||||||
|
public partial class multiselect_enableedit {
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// form1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// PageManager1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.PageManager PageManager1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SimpleForm1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.SimpleForm SimpleForm1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DropDownList1 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.DropDownList DropDownList1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnSelectItem6 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnSelectItem6;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnGetSelection 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Button btnGetSelection;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// labResult 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::FineUI.Label labResult;
|
||||||
|
}
|
||||||
|
}
|
@ -4,33 +4,34 @@
|
|||||||
<html>
|
<html>
|
||||||
<head runat="server">
|
<head runat="server">
|
||||||
<title></title>
|
<title></title>
|
||||||
<link href="../css/main.css" rel="stylesheet" type="text/css" />
|
<link href="../res/css/main.css" rel="stylesheet" type="text/css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form id="form1" runat="server">
|
<form id="form1" runat="server">
|
||||||
<x:PageManager ID="PageManager1" runat="server" />
|
<f:PageManager ID="PageManager1" runat="server" />
|
||||||
<x:SimpleForm ID="SimpleForm1" runat="server" BodyPadding="5px" Width="550px" EnableFrame="true" EnableCollapse="true"
|
<f:SimpleForm ID="SimpleForm1" runat="server" BodyPadding="5px" Width="550px" EnableCollapse="true"
|
||||||
Title="简单表单">
|
Title="简单表单">
|
||||||
<Items>
|
<Items>
|
||||||
<x:DropDownList ID="ddlSheng" Label="省份" ShowRedStar="true" CompareType="String"
|
<f:DropDownList ID="ddlSheng" Label="省份" ShowRedStar="true" CompareType="String"
|
||||||
CompareValue="-1" CompareOperator="NotEqual" CompareMessage="请选择省份!" runat="server"
|
CompareValue="-1" CompareOperator="NotEqual" CompareMessage="请选择省份!" runat="server"
|
||||||
AutoPostBack="true" OnSelectedIndexChanged="ddlSheng_SelectedIndexChanged">
|
AutoPostBack="true" OnSelectedIndexChanged="ddlSheng_SelectedIndexChanged">
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
<x:DropDownList ID="ddlShi" Label="地区市" ShowRedStar="true" CompareType="String"
|
<f:DropDownList ID="ddlShi" Label="地区市" ShowRedStar="true" CompareType="String"
|
||||||
CompareValue="-1" CompareOperator="NotEqual" CompareMessage="请选择地区市!" runat="server"
|
CompareValue="-1" CompareOperator="NotEqual" CompareMessage="请选择地区市!" runat="server" Enabled="false"
|
||||||
AutoPostBack="true" OnSelectedIndexChanged="ddlShi_SelectedIndexChanged">
|
AutoPostBack="true" OnSelectedIndexChanged="ddlShi_SelectedIndexChanged">
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
<x:DropDownList ID="ddlXian" ShowRedStar="true" CompareType="String" CompareValue="-1"
|
<f:DropDownList ID="ddlXian" ShowRedStar="true" CompareType="String" CompareValue="-1"
|
||||||
CompareOperator="NotEqual" CompareMessage="请选择县区市!" Label="县区市" runat="server">
|
CompareOperator="NotEqual" CompareMessage="请选择县区市!" Label="县区市" runat="server" Enabled="false">
|
||||||
</x:DropDownList>
|
</f:DropDownList>
|
||||||
<x:Button ID="btnSubmit" runat="server" Text="获取选中的省市县" ValidateForms="SimpleForm1"
|
<f:Button ID="btnSubmit" runat="server" Text="获取选中的省市县" ValidateForms="SimpleForm1"
|
||||||
ValidateTarget="Top" OnClick="btnSubmit_Click">
|
ValidateTarget="Top" OnClick="btnSubmit_Click">
|
||||||
</x:Button>
|
</f:Button>
|
||||||
<x:Label ID="labResult" runat="server" ShowLabel="false" CssStyle="font-weight:bold;">
|
|
||||||
</x:Label>
|
|
||||||
</Items>
|
</Items>
|
||||||
</x:SimpleForm>
|
</f:SimpleForm>
|
||||||
<br />
|
<br />
|
||||||
|
<f:Label ID="labResult" runat="server" ShowLabel="false" CssStyle="font-weight:bold;">
|
||||||
|
</f:Label>
|
||||||
<br />
|
<br />
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
|
@ -44,6 +44,9 @@ namespace FineUI.Examples.data
|
|||||||
|
|
||||||
ddlShi.Items.Insert(0, new ListItem("选择地区市", "-1"));
|
ddlShi.Items.Insert(0, new ListItem("选择地区市", "-1"));
|
||||||
ddlShi.SelectedValue = "-1";
|
ddlShi.SelectedValue = "-1";
|
||||||
|
|
||||||
|
// 是否禁用
|
||||||
|
ddlShi.Enabled = !(ddlShi.Items.Count == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BindXian()
|
private void BindXian()
|
||||||
@ -59,6 +62,9 @@ namespace FineUI.Examples.data
|
|||||||
|
|
||||||
ddlXian.Items.Insert(0, new ListItem("选择县级市", "-1"));
|
ddlXian.Items.Insert(0, new ListItem("选择县级市", "-1"));
|
||||||
ddlXian.SelectedValue = "-1";
|
ddlXian.SelectedValue = "-1";
|
||||||
|
|
||||||
|
// 是否禁用
|
||||||
|
ddlXian.Enabled = !(ddlXian.Items.Count == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void ddlSheng_SelectedIndexChanged(object sender, EventArgs e)
|
protected void ddlSheng_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
@ -28,63 +28,63 @@ type res\images\s.gif > ..\extjs\res\s.gif
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
type res\FineUI.css > _x
|
type res\FineUI.css > _f
|
||||||
type res\PageLoading.css >> _x
|
type res\PageLoading.css >> _f
|
||||||
type res\Grid.css >> _x
|
type res\Grid.css >> _f
|
||||||
type res\Tree.css >> _x
|
type res\Tree.css >> _f
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\css\ux.css
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\css\ux.css
|
||||||
|
|
||||||
type extjs_source_all\resources\ext-theme-access\ext-theme-access-all.css > _x
|
type extjs_source_all\resources\ext-theme-access\ext-theme-access-all.css > _f
|
||||||
type ..\extjs\res\css\ux.css >> _x
|
type ..\extjs\res\css\ux.css >> _f
|
||||||
type res\access.css >> _x
|
type res\access.css >> _f
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\ext-theme-access\all.css
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\ext-theme-access\all.css
|
||||||
|
|
||||||
type extjs_source_all\resources\ext-theme-classic\ext-theme-classic-all.css > _x
|
type extjs_source_all\resources\ext-theme-classic\ext-theme-classic-all.css > _f
|
||||||
type ..\extjs\res\css\ux.css >> _x
|
type ..\extjs\res\css\ux.css >> _f
|
||||||
type res\classic.css >> _x
|
type res\classic.css >> _f
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\ext-theme-classic\all.css
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\ext-theme-classic\all.css
|
||||||
|
|
||||||
type extjs_source_all\resources\ext-theme-gray\ext-theme-gray-all.css > _x
|
type extjs_source_all\resources\ext-theme-gray\ext-theme-gray-all.css > _f
|
||||||
type ..\extjs\res\css\ux.css >> _x
|
type ..\extjs\res\css\ux.css >> _f
|
||||||
type res\gray.css >> _x
|
type res\gray.css >> _f
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\ext-theme-gray\all.css
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\ext-theme-gray\all.css
|
||||||
|
|
||||||
type extjs_source_all\resources\ext-theme-neptune\ext-theme-neptune-all.css > _x
|
type extjs_source_all\resources\ext-theme-neptune\ext-theme-neptune-all.css > _f
|
||||||
type ..\extjs\res\css\ux.css >> _x
|
type ..\extjs\res\css\ux.css >> _f
|
||||||
type res\neptune.css >> _x
|
type res\neptune.css >> _f
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\ext-theme-neptune\all.css
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\ext-theme-neptune\all.css
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-en.js > _x
|
type extjs_source_all\locale\ext-lang-en.js > _f
|
||||||
type js\lang\fineui-lang-en.js >> _x
|
type js\lang\f-lang-en.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\en.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\en.js
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-pt_BR.js > _x
|
type extjs_source_all\locale\ext-lang-pt_BR.js > _f
|
||||||
type js\lang\fineui-lang-pt_BR.js >> _x
|
type js\lang\f-lang-pt_BR.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\pt_BR.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\pt_BR.js
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-tr.js > _x
|
type extjs_source_all\locale\ext-lang-tr.js > _f
|
||||||
type js\lang\fineui-lang-tr.js >> _x
|
type js\lang\f-lang-tr.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\tr.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\tr.js
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-zh_CN.js > _x
|
type extjs_source_all\locale\ext-lang-zh_CN.js > _f
|
||||||
type js\lang\fineui-lang-zh_CN.js >> _x
|
type js\lang\f-lang-zh_CN.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\zh_CN.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\zh_CN.js
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-zh_TW.js > _x
|
type extjs_source_all\locale\ext-lang-zh_TW.js > _f
|
||||||
type js\lang\fineui-lang-zh_TW.js >> _x
|
type js\lang\f-lang-zh_TW.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\zh_TW.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\zh_TW.js
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-ru.js > _x
|
type extjs_source_all\locale\ext-lang-ru.js > _f
|
||||||
type js\lang\fineui-lang-ru.js >> _x
|
type js\lang\f-lang-ru.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\ru.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\ru.js
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -97,32 +97,32 @@ ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\ru.js
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\ext-all.js > _x
|
type extjs_source_all\ext-all.js > _f
|
||||||
|
|
||||||
type _x > ..\extjs\ext-part1.js
|
type _f > ..\extjs\ext-part1.js
|
||||||
|
|
||||||
|
|
||||||
type js\lib\json2.js > _x
|
type js\lib\json2.js > _f
|
||||||
type js\lib\Base64.js >> _x
|
type js\lib\Base64.js >> _f
|
||||||
type js\X\X.util.js >> _x
|
type js\F\F.util.js >> _f
|
||||||
type js\X\X.ajax.js >> _x
|
type js\F\F.ajax.js >> _f
|
||||||
type js\X\X.wnd.js >> _x
|
type js\F\F.wnd.js >> _f
|
||||||
type js\X\extender.js >> _x
|
type js\F\extender.js >> _f
|
||||||
type js\X\X.simulateTree.js >> _x
|
type js\F\F.simulateTree.js >> _f
|
||||||
type js\X\X.format.js >> _x
|
type js\F\F.format.js >> _f
|
||||||
type js\ux\FormViewport.js >> _x
|
type js\ux\FormViewport.js >> _f
|
||||||
type js\ux\SimplePagingToolbar.js >> _x
|
type js\ux\SimplePagingToolbar.js >> _f
|
||||||
type js\ux\TabCloseMenu.js >> _x
|
type js\ux\TabCloseMenu.js >> _f
|
||||||
type extjs_source_all\examples\ux\RowExpander.js >> _x
|
type extjs_source_all\examples\ux\RowExpander.js >> _f
|
||||||
|
|
||||||
type _x > ..\extjs\ext-part2.js
|
type _f > ..\extjs\ext-part2.js
|
||||||
|
|
||||||
|
|
||||||
type ..\extjs\ext-part1.js > _x
|
type ..\extjs\ext-part1.js > _f
|
||||||
type ..\extjs\ext-part2.js >> _x
|
type ..\extjs\ext-part2.js >> _f
|
||||||
|
|
||||||
|
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\ext-all.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\ext-all.js
|
||||||
|
|
||||||
|
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate extjs_source_all\ext-debug.js -o ..\extjs\ext.js
|
ajaxminifier\ajaxminifier -js -evals:immediate extjs_source_all\ext-debug.js -o ..\extjs\ext.js
|
||||||
@ -130,6 +130,8 @@ ajaxminifier\ajaxminifier -js -evals:immediate extjs_source_all\ext-debug.js -o
|
|||||||
type extjs_source_all\ext-theme-neptune.js > ..\extjs\ext-theme-neptune.js
|
type extjs_source_all\ext-theme-neptune.js > ..\extjs\ext-theme-neptune.js
|
||||||
|
|
||||||
|
|
||||||
del _x /Q
|
type version.txt > ..\extjs\version.txt
|
||||||
|
|
||||||
|
del _f /Q
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,63 +16,65 @@ mkdir ..\extjs\res\ext-theme-neptune
|
|||||||
mkdir ..\extjs\res\ext-theme-neptune\images
|
mkdir ..\extjs\res\ext-theme-neptune\images
|
||||||
|
|
||||||
|
|
||||||
type res\FineUI.css > _x
|
|
||||||
type res\PageLoading.css >> _x
|
|
||||||
type res\Grid.css >> _x
|
|
||||||
type res\Tree.css >> _x
|
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\css\ux.css
|
|
||||||
|
|
||||||
type extjs_source_all\resources\ext-theme-access\ext-theme-access-all.css > _x
|
|
||||||
type ..\extjs\res\css\ux.css >> _x
|
|
||||||
type res\access.css >> _x
|
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\ext-theme-access\all.css
|
|
||||||
|
|
||||||
type extjs_source_all\resources\ext-theme-classic\ext-theme-classic-all.css > _x
|
type res\FineUI.css > _f
|
||||||
type ..\extjs\res\css\ux.css >> _x
|
type res\PageLoading.css >> _f
|
||||||
type res\classic.css >> _x
|
type res\Grid.css >> _f
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\ext-theme-classic\all.css
|
type res\Tree.css >> _f
|
||||||
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\css\ux.css
|
||||||
|
|
||||||
type extjs_source_all\resources\ext-theme-gray\ext-theme-gray-all.css > _x
|
type extjs_source_all\resources\ext-theme-access\ext-theme-access-all.css > _f
|
||||||
type ..\extjs\res\css\ux.css >> _x
|
type ..\extjs\res\css\ux.css >> _f
|
||||||
type res\gray.css >> _x
|
type res\access.css >> _f
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\ext-theme-gray\all.css
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\ext-theme-access\all.css
|
||||||
|
|
||||||
type extjs_source_all\resources\ext-theme-neptune\ext-theme-neptune-all.css > _x
|
type extjs_source_all\resources\ext-theme-classic\ext-theme-classic-all.css > _f
|
||||||
type ..\extjs\res\css\ux.css >> _x
|
type ..\extjs\res\css\ux.css >> _f
|
||||||
type res\neptune.css >> _x
|
type res\classic.css >> _f
|
||||||
ajaxminifier\ajaxminifier -css _x -o ..\extjs\res\ext-theme-neptune\all.css
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\ext-theme-classic\all.css
|
||||||
|
|
||||||
|
type extjs_source_all\resources\ext-theme-gray\ext-theme-gray-all.css > _f
|
||||||
|
type ..\extjs\res\css\ux.css >> _f
|
||||||
|
type res\gray.css >> _f
|
||||||
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\ext-theme-gray\all.css
|
||||||
|
|
||||||
|
type extjs_source_all\resources\ext-theme-neptune\ext-theme-neptune-all.css > _f
|
||||||
|
type ..\extjs\res\css\ux.css >> _f
|
||||||
|
type res\neptune.css >> _f
|
||||||
|
ajaxminifier\ajaxminifier -css _f -o ..\extjs\res\ext-theme-neptune\all.css
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-en.js > _x
|
type extjs_source_all\locale\ext-lang-en.js > _f
|
||||||
type js\lang\fineui-lang-en.js >> _x
|
type js\lang\f-lang-en.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\en.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\en.js
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-pt_BR.js > _x
|
type extjs_source_all\locale\ext-lang-pt_BR.js > _f
|
||||||
type js\lang\fineui-lang-pt_BR.js >> _x
|
type js\lang\f-lang-pt_BR.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\pt_BR.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\pt_BR.js
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-tr.js > _x
|
type extjs_source_all\locale\ext-lang-tr.js > _f
|
||||||
type js\lang\fineui-lang-tr.js >> _x
|
type js\lang\f-lang-tr.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\tr.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\tr.js
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-zh_CN.js > _x
|
type extjs_source_all\locale\ext-lang-zh_CN.js > _f
|
||||||
type js\lang\fineui-lang-zh_CN.js >> _x
|
type js\lang\f-lang-zh_CN.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\zh_CN.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\zh_CN.js
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-zh_TW.js > _x
|
type extjs_source_all\locale\ext-lang-zh_TW.js > _f
|
||||||
type js\lang\fineui-lang-zh_TW.js >> _x
|
type js\lang\f-lang-zh_TW.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\zh_TW.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\zh_TW.js
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\locale\ext-lang-ru.js > _x
|
type extjs_source_all\locale\ext-lang-ru.js > _f
|
||||||
type js\lang\fineui-lang-ru.js >> _x
|
type js\lang\f-lang-ru.js >> _f
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\ru.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\lang\ru.js
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -85,32 +87,32 @@ ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\lang\ru.js
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
type extjs_source_all\ext-all.js > _x
|
type extjs_source_all\ext-all.js > _f
|
||||||
|
|
||||||
type _x > ..\extjs\ext-part1.js
|
type _f > ..\extjs\ext-part1.js
|
||||||
|
|
||||||
|
|
||||||
type js\lib\json2.js > _x
|
type js\lib\json2.js > _f
|
||||||
type js\lib\Base64.js >> _x
|
type js\lib\Base64.js >> _f
|
||||||
type js\X\X.util.js >> _x
|
type js\F\F.util.js >> _f
|
||||||
type js\X\X.ajax.js >> _x
|
type js\F\F.ajax.js >> _f
|
||||||
type js\X\X.wnd.js >> _x
|
type js\F\F.wnd.js >> _f
|
||||||
type js\X\extender.js >> _x
|
type js\F\extender.js >> _f
|
||||||
type js\X\X.simulateTree.js >> _x
|
type js\F\F.simulateTree.js >> _f
|
||||||
type js\X\X.format.js >> _x
|
type js\F\F.format.js >> _f
|
||||||
type js\ux\FormViewport.js >> _x
|
type js\ux\FormViewport.js >> _f
|
||||||
type js\ux\SimplePagingToolbar.js >> _x
|
type js\ux\SimplePagingToolbar.js >> _f
|
||||||
type js\ux\TabCloseMenu.js >> _x
|
type js\ux\TabCloseMenu.js >> _f
|
||||||
type extjs_source_all\examples\ux\RowExpander.js >> _x
|
type extjs_source_all\examples\ux\RowExpander.js >> _f
|
||||||
|
|
||||||
type _x > ..\extjs\ext-part2.js
|
type _f > ..\extjs\ext-part2.js
|
||||||
|
|
||||||
|
|
||||||
type ..\extjs\ext-part1.js > _x
|
type ..\extjs\ext-part1.js > _f
|
||||||
type ..\extjs\ext-part2.js >> _x
|
type ..\extjs\ext-part2.js >> _f
|
||||||
|
|
||||||
|
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate _x -o ..\extjs\ext-all.js
|
ajaxminifier\ajaxminifier -js -evals:immediate _f -o ..\extjs\ext-all.js
|
||||||
|
|
||||||
|
|
||||||
ajaxminifier\ajaxminifier -js -evals:immediate extjs_source_all\ext-debug.js -o ..\extjs\ext.js
|
ajaxminifier\ajaxminifier -js -evals:immediate extjs_source_all\ext-debug.js -o ..\extjs\ext.js
|
||||||
@ -118,5 +120,7 @@ ajaxminifier\ajaxminifier -js -evals:immediate extjs_source_all\ext-debug.js -o
|
|||||||
type extjs_source_all\ext-theme-neptune.js > ..\extjs\ext-theme-neptune.js
|
type extjs_source_all\ext-theme-neptune.js > ..\extjs\ext-theme-neptune.js
|
||||||
|
|
||||||
|
|
||||||
del _x /Q
|
del _f /Q
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
522
FineUI.Examples/extjs_builder/js/F/F.ajax.js
Normal file
522
FineUI.Examples/extjs_builder/js/F/F.ajax.js
Normal file
@ -0,0 +1,522 @@
|
|||||||
|
|
||||||
|
(function () {
|
||||||
|
|
||||||
|
F.ajax = {
|
||||||
|
|
||||||
|
timeoutErrorMsg: "Request timeout, please refresh the page and try again!",
|
||||||
|
errorMsg: "Error! {0} ({1})",
|
||||||
|
errorWindow: null,
|
||||||
|
|
||||||
|
hookPostBack: function () {
|
||||||
|
if (typeof (__doPostBack) != 'undefined') {
|
||||||
|
__doPostBack = f__doPostBack;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
function enableAjax() {
|
||||||
|
if (typeof (F.control_enable_ajax) === 'undefined') {
|
||||||
|
return F.global_enable_ajax;
|
||||||
|
}
|
||||||
|
return F.control_enable_ajax;
|
||||||
|
}
|
||||||
|
|
||||||
|
function enableAjaxLoading() {
|
||||||
|
if (typeof (F.control_enable_ajax_loading) === 'undefined') {
|
||||||
|
return F.global_enable_ajax_loading;
|
||||||
|
}
|
||||||
|
return F.control_enable_ajax_loading;
|
||||||
|
}
|
||||||
|
|
||||||
|
function ajaxLoadingType() {
|
||||||
|
if (typeof (F.control_ajax_loading_type) === 'undefined') {
|
||||||
|
return F.global_ajax_loading_type;
|
||||||
|
}
|
||||||
|
return F.control_ajax_loading_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function f__doPostBack_internal() {
|
||||||
|
//if (typeof (F.util.beforeAjaxPostBackScript) === 'function') {
|
||||||
|
// F.util.beforeAjaxPostBackScript();
|
||||||
|
//}
|
||||||
|
F.util.triggerBeforeAjax();
|
||||||
|
|
||||||
|
|
||||||
|
function ajaxSuccess(data, viewStateBeforeAJAX) {
|
||||||
|
/*
|
||||||
|
try {
|
||||||
|
new Function(data)();
|
||||||
|
} catch (e) {
|
||||||
|
createErrorWindow({
|
||||||
|
statusText: "Execute JavaScript Exception",
|
||||||
|
status: -1,
|
||||||
|
responseText: util.htmlEncode(data)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
new Function('__VIEWSTATE', data)(viewStateBeforeAJAX);
|
||||||
|
|
||||||
|
// 有可能响应返回后即关闭本窗体
|
||||||
|
if (F && F.util) {
|
||||||
|
F.util.triggerAjaxReady();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ext.encode will convert Chinese characters. Ext.encode({a:"你好"}) => '{"a":"\u4f60\u597d"}'
|
||||||
|
// We will include the official JSON object from http://json.org/
|
||||||
|
// 现在还是用的 Ext.encode,在 IETester的 IE8下 JSON.stringify 生成的中文是\u9009\u9879形式。
|
||||||
|
//F.util.setHiddenFieldValue('F_STATE', encodeURIComponent(JSON.stringify(getFState())));
|
||||||
|
|
||||||
|
var fstate = Ext.encode(getFState());
|
||||||
|
if (Ext.isIE6 || Ext.isIE7) {
|
||||||
|
F.util.setHiddenFieldValue('F_STATE_URI', 'true');
|
||||||
|
fstate = encodeURIComponent(fstate);
|
||||||
|
} else {
|
||||||
|
fstate = Base64.encode(fstate);
|
||||||
|
}
|
||||||
|
F.util.setHiddenFieldValue('F_STATE', fstate);
|
||||||
|
//F.util.setHiddenFieldValue('F_STATE', encodeURIComponent(Ext.encode(getFState())));
|
||||||
|
if (!enableAjax()) {
|
||||||
|
// 当前请求结束后必须重置 F.control_enable_ajax
|
||||||
|
F.control_enable_ajax = undefined;
|
||||||
|
F.util.setHiddenFieldValue('F_AJAX', 'false');
|
||||||
|
theForm.submit();
|
||||||
|
} else {
|
||||||
|
// 当前请求结束后必须重置 F.control_enable_ajax
|
||||||
|
F.control_enable_ajax = undefined;
|
||||||
|
F.util.setHiddenFieldValue('F_AJAX', 'true');
|
||||||
|
var url = document.location.href;
|
||||||
|
var urlHashIndex = url.indexOf('#');
|
||||||
|
if (urlHashIndex >= 0) {
|
||||||
|
url = url.substring(0, urlHashIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
var viewStateBeforeAJAX = F.util.getHiddenFieldValue('__VIEWSTATE');
|
||||||
|
|
||||||
|
Ext.Ajax.request({
|
||||||
|
form: theForm.id,
|
||||||
|
url: url,
|
||||||
|
isUpload: F.form_upload_file,
|
||||||
|
//params: serializeForm(theForm) + '&X_AJAX=true',
|
||||||
|
success: function (data) {
|
||||||
|
var scripts = data.responseText;
|
||||||
|
|
||||||
|
|
||||||
|
if (scripts && F.form_upload_file) {
|
||||||
|
// 文件上传时,输出内容经过encodeURIComponent编码(在ResponseFilter中的Close函数中)
|
||||||
|
//scripts = scripts.replace(/<\/?pre[^>]*>/ig, '');
|
||||||
|
scripts = decodeURIComponent(scripts);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 因为这里调用后(可能会关闭当前页面),extjs还有代码要执行(Ext.callback...),所以这里要延迟一下,等 extjs 代码执行完毕后再执行这里代码
|
||||||
|
window.setTimeout(function () {
|
||||||
|
ajaxSuccess(scripts, viewStateBeforeAJAX);
|
||||||
|
/*
|
||||||
|
if (scripts) {
|
||||||
|
if (F.form_upload_file) {
|
||||||
|
// 文件上传时,输出内容经过encodeURIComponent编码(在ResponseFilter中的Close函数中)
|
||||||
|
//scripts = scripts.replace(/<\/?pre[^>]*>/ig, '');
|
||||||
|
scripts = decodeURIComponent(scripts);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
new Function(scripts)();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
// 有可能响应返回后即关闭本窗体
|
||||||
|
if (F && F.util) {
|
||||||
|
F.util.triggerAjaxReady();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}, 100);
|
||||||
|
},
|
||||||
|
failure: function (data) {
|
||||||
|
var lastDisabledButtonId = F.util.getHiddenFieldValue('F_TARGET');
|
||||||
|
if (lastDisabledButtonId) {
|
||||||
|
F.enable(lastDisabledButtonId);
|
||||||
|
}
|
||||||
|
createErrorWindow(data);
|
||||||
|
},
|
||||||
|
callback: function (options, success, response) {
|
||||||
|
// AJAX结束时需要清空此字段,否则下一次的type=submit提交(ASP.NET回发方式之一)会被误认为是AJAX提交
|
||||||
|
if (F && F.util) {
|
||||||
|
F.util.setHiddenFieldValue('F_AJAX', 'false');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 如果启用 Ajax,则所有对 __doPostBack 的调用都会到这里来
|
||||||
|
function f__doPostBack(eventTarget, eventArgument) {
|
||||||
|
// 回发页面之前延时 100 毫秒,确保页面上的操作完成(比如选中复选框的动作)
|
||||||
|
window.setTimeout(function () {
|
||||||
|
// theForm variable will always exist, because we invoke the GetPostBackEventReference in PageManager.
|
||||||
|
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
|
||||||
|
theForm.__EVENTTARGET.value = eventTarget;
|
||||||
|
theForm.__EVENTARGUMENT.value = eventArgument;
|
||||||
|
|
||||||
|
f__doPostBack_internal();
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function writeContentToIFrame(iframe, content) {
|
||||||
|
// http://stackoverflow.com/questions/1477547/getelementbyid-contentdocument-error-in-ie
|
||||||
|
// contentWindow is always there.
|
||||||
|
if (iframe) {
|
||||||
|
var doc = iframe.contentWindow.document;
|
||||||
|
if (doc) {
|
||||||
|
doc.open();
|
||||||
|
doc.write(content);
|
||||||
|
doc.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 创建出错窗口
|
||||||
|
function createErrorWindow(data) {
|
||||||
|
// 如果是请求超时错误,则弹出简单提醒对话框
|
||||||
|
if (data.isTimeout) {
|
||||||
|
F.util.alert(F.ajax.timeoutErrorMsg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果响应正文为空,则弹出简单提醒对话框
|
||||||
|
if (!data.responseText) {
|
||||||
|
F.util.alert(Ext.String.format(F.ajax.errorMsg, data.statusText, data.status));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!F.ajax.errorWindow) {
|
||||||
|
F.ajax.errorWindow = Ext.create('Ext.window.Window', {
|
||||||
|
id: "FINEUI_ERROR",
|
||||||
|
renderTo: window.body,
|
||||||
|
width: 550,
|
||||||
|
height: 350,
|
||||||
|
border: true,
|
||||||
|
animCollapse: true,
|
||||||
|
collapsible: false,
|
||||||
|
collapsed: false,
|
||||||
|
closeAction: "hide",
|
||||||
|
plain: false,
|
||||||
|
modal: true,
|
||||||
|
draggable: true,
|
||||||
|
minimizable: false,
|
||||||
|
minHeight: 100,
|
||||||
|
minWidth: 200,
|
||||||
|
resizable: true,
|
||||||
|
maximizable: true,
|
||||||
|
closable: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
F.ajax.errorWindow.show();
|
||||||
|
F.ajax.errorWindow.body.dom.innerHTML = F.wnd.createIFrameHtml('about:blank', 'FINEUI_ERROR');
|
||||||
|
F.ajax.errorWindow.setTitle(Ext.String.format(F.ajax.errorMsg, data.statusText, data.status));
|
||||||
|
writeContentToIFrame(F.ajax.errorWindow.body.query('iframe')[0], data.responseText);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 序列化表单为 URL 编码字符串,除去 <input type="submit" /> 的按钮
|
||||||
|
var extjsSerializeForm = Ext.Element.serializeForm;
|
||||||
|
Ext.Element.serializeForm = function (form) {
|
||||||
|
var el, originalStr = extjsSerializeForm(form);
|
||||||
|
for (var i = 0; i < form.elements.length; i++) {
|
||||||
|
el = form.elements[i];
|
||||||
|
if (el.type === 'submit') {
|
||||||
|
var submitStr = encodeURIComponent(el.name) + '=' + encodeURIComponent(el.value);
|
||||||
|
if (originalStr.indexOf(submitStr) == 0) {
|
||||||
|
originalStr = originalStr.replace(submitStr, '');
|
||||||
|
} else {
|
||||||
|
originalStr = originalStr.replace('&' + submitStr, '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return originalStr;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
function getFState() {
|
||||||
|
var state = {};
|
||||||
|
Ext.ComponentManager.each(function (key, cmp) {
|
||||||
|
if (cmp.isXType) {
|
||||||
|
// f_props store the properties which has been changed on server-side or client-side.
|
||||||
|
// Every FineUI control should has this property.
|
||||||
|
var fstate = cmp['f_state'];
|
||||||
|
if (fstate && Ext.isObject(fstate)) {
|
||||||
|
var cmpState = getFStateViaCmp(cmp, fstate);
|
||||||
|
if (!F.util.isObjectEmpty(cmpState)) {
|
||||||
|
state[cmp.id] = cmpState;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
F.ajax.getFState = getFState;
|
||||||
|
|
||||||
|
function getFStateViaCmp(cmp, fstate) {
|
||||||
|
var state = {};
|
||||||
|
|
||||||
|
Ext.apply(state, fstate);
|
||||||
|
|
||||||
|
function saveInHiddenField(property, currentValue) {
|
||||||
|
// Save this client-changed property in a form hidden field.
|
||||||
|
F.util.setHiddenFieldValue(cmp.id + '_' + property, currentValue);
|
||||||
|
}
|
||||||
|
function removeHiddenField(property) {
|
||||||
|
F.util.removeHiddenField(cmp.id + '_' + property);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果存在Gzip压缩的属性,就删除原来的属性
|
||||||
|
function resolveGZProperty(property) {
|
||||||
|
var gzProperty = property + '_GZ';
|
||||||
|
if (state[gzProperty]) {
|
||||||
|
delete state[property];
|
||||||
|
} else {
|
||||||
|
delete state[gzProperty];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 有些属性可以在客户端改变,因此需要在每个请求之前计算
|
||||||
|
if (cmp.isXType('menucheckitem')) {
|
||||||
|
saveInHiddenField('Checked', cmp.checked);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('checkbox')) {
|
||||||
|
// 包含RadioButton
|
||||||
|
saveInHiddenField('Checked', cmp.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('checkboxgroup')) {
|
||||||
|
var selected = cmp.f_getSelectedValues();
|
||||||
|
if (selected.length > 0) {
|
||||||
|
saveInHiddenField('SelectedValueArray', selected.join(','));
|
||||||
|
} else {
|
||||||
|
removeHiddenField('SelectedValueArray');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('panel') || cmp.isXType('fieldset')) {
|
||||||
|
saveInHiddenField('Collapsed', cmp.f_isCollapsed());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('datepicker')) {
|
||||||
|
saveInHiddenField('SelectedDate', Ext.Date.format(cmp.getValue(), cmp.initialConfig.format));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('button')) {
|
||||||
|
if (cmp.initialConfig.enableToggle) {
|
||||||
|
saveInHiddenField('Pressed', cmp.pressed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('grid')) {
|
||||||
|
|
||||||
|
//if (cmp.getPlugin(cmp.id + '_celledit')) {
|
||||||
|
if(cmp.f_cellEditing) {
|
||||||
|
// 可编辑单元格的表格
|
||||||
|
// 选中单元格
|
||||||
|
saveInHiddenField('SelectedCell', cmp.f_getSelectedCell().join(','));
|
||||||
|
|
||||||
|
//// 新增行
|
||||||
|
//var newAddedRows = cmp.f_getNewAddedRows();
|
||||||
|
//if (newAddedRows.length > 0) {
|
||||||
|
// saveInHiddenField('NewAddedRows', newAddedRows.join(','));
|
||||||
|
//} else {
|
||||||
|
// removeHiddenField('NewAddedRows');
|
||||||
|
//}
|
||||||
|
|
||||||
|
// 修改的数据
|
||||||
|
var modifiedData = cmp.f_getModifiedData();
|
||||||
|
if (modifiedData.length > 0) {
|
||||||
|
saveInHiddenField('ModifiedData', Ext.encode(modifiedData));
|
||||||
|
} else {
|
||||||
|
removeHiddenField('ModifiedData');
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除的行索引列表
|
||||||
|
var deletedRows = cmp.f_getDeletedRows();
|
||||||
|
if (deletedRows.length > 0) {
|
||||||
|
saveInHiddenField('DeletedRows', deletedRows.join(','));
|
||||||
|
} else {
|
||||||
|
removeHiddenField('DeletedRows');
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// 普通的表格
|
||||||
|
// 选中行索引列表
|
||||||
|
saveInHiddenField('SelectedRowIndexArray', cmp.f_getSelectedRows().join(','));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 隐藏的列索引列表
|
||||||
|
var gridHiddenColumns = cmp.f_getHiddenColumns();
|
||||||
|
if (gridHiddenColumns.length > 0) {
|
||||||
|
saveInHiddenField('HiddenColumns', gridHiddenColumns.join(','));
|
||||||
|
} else {
|
||||||
|
removeHiddenField('HiddenColumns');
|
||||||
|
}
|
||||||
|
|
||||||
|
// 目前States仅用于CheckBoxField
|
||||||
|
var gridStates = cmp.f_getStates();
|
||||||
|
if (gridStates.length > 0) {
|
||||||
|
saveInHiddenField('States', Ext.encode(gridStates));
|
||||||
|
} else {
|
||||||
|
removeHiddenField('States');
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果存在 GZIPPED 的属性,就用 GZIPPED 属性
|
||||||
|
resolveGZProperty('F_Rows');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('combo') || cmp.isXType('checkboxgroup') || cmp.isXType('radiogroup')) {
|
||||||
|
|
||||||
|
// 如果存在 GZIPPED 的属性,就用 GZIPPED 属性
|
||||||
|
resolveGZProperty('F_Items');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('field')) {
|
||||||
|
|
||||||
|
// 如果存在 GZIPPED 的属性,就用 GZIPPED 属性
|
||||||
|
resolveGZProperty('Text');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('treepanel')) {
|
||||||
|
saveInHiddenField('ExpandedNodes', cmp.f_getExpandedNodes(cmp.getRootNode().childNodes).join(','));
|
||||||
|
saveInHiddenField('CheckedNodes', cmp.f_getCheckedNodes().join(','));
|
||||||
|
saveInHiddenField('SelectedNodeIDArray', cmp.f_getSelectedNodes().join(','));
|
||||||
|
|
||||||
|
// 如果存在 GZIPPED 的属性,就用 GZIPPED 属性
|
||||||
|
resolveGZProperty('F_Nodes');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('tabpanel')) {
|
||||||
|
saveInHiddenField('ActiveTabIndex', cmp.f_getActiveTabIndex());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp.isXType('panel') && cmp.getLayout().type === 'accordion') {
|
||||||
|
saveInHiddenField('ActivePaneIndex', cmp.f_getActiveIndex());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cmp['f_type'] && cmp['f_type'] === 'tab') {
|
||||||
|
saveInHiddenField('Hidden', cmp.tab.isHidden());
|
||||||
|
}
|
||||||
|
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 显示“正在载入...”的提示信息
|
||||||
|
function _showAjaxLoading(ajaxLoadingType) {
|
||||||
|
if (_requestCount > 0) {
|
||||||
|
|
||||||
|
if (ajaxLoadingType === "default") {
|
||||||
|
F.ajaxLoadingDefault.setStyle('left', (Ext.getBody().getWidth() - F.ajaxLoadingDefault.getWidth()) / 2 + 'px');
|
||||||
|
F.ajaxLoadingDefault.show();
|
||||||
|
} else {
|
||||||
|
F.ajaxLoadingMask.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 隐藏“正在载入...”的提示信息
|
||||||
|
function _hideAjaxLoading(ajaxLoadingType) {
|
||||||
|
if (_requestCount <= 0) {
|
||||||
|
_requestCount = 0;
|
||||||
|
|
||||||
|
if (ajaxLoadingType === "default") {
|
||||||
|
F.ajaxLoadingDefault.hide();
|
||||||
|
} else {
|
||||||
|
F.ajaxLoadingMask.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 当前 Ajax 的并发请求数
|
||||||
|
var _requestCount = 0;
|
||||||
|
|
||||||
|
// 发起 Ajax 请求之前事件处理
|
||||||
|
Ext.Ajax.on('beforerequest', function (conn, options) {
|
||||||
|
_requestCount++;
|
||||||
|
|
||||||
|
if (!enableAjaxLoading()) {
|
||||||
|
// Do nothing
|
||||||
|
} else {
|
||||||
|
Ext.defer(_showAjaxLoading, 50, window, [ajaxLoadingType()]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Ajax 请求结束
|
||||||
|
Ext.Ajax.on('requestcomplete', function (conn, options) {
|
||||||
|
_requestCount--;
|
||||||
|
|
||||||
|
if (!enableAjaxLoading()) {
|
||||||
|
// ...
|
||||||
|
} else {
|
||||||
|
Ext.defer(_hideAjaxLoading, 0, window, [ajaxLoadingType()]);
|
||||||
|
}
|
||||||
|
F.control_enable_ajax_loading = undefined;
|
||||||
|
F.control_ajax_loading_type = undefined;
|
||||||
|
});
|
||||||
|
|
||||||
|
// Ajax 请求发生异常
|
||||||
|
Ext.Ajax.on('requestexception', function (conn, options) {
|
||||||
|
_requestCount--;
|
||||||
|
|
||||||
|
if (!enableAjaxLoading()) {
|
||||||
|
// ...
|
||||||
|
} else {
|
||||||
|
Ext.defer(_hideAjaxLoading, 0, window, [ajaxLoadingType()]);
|
||||||
|
}
|
||||||
|
F.control_enable_ajax_loading = undefined;
|
||||||
|
F.control_ajax_loading_type = undefined;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// // 不适用于所有Extjs控件(比如Toolbar中放置按钮,这个按钮就没有ownerCt对象)
|
||||||
|
// // 更新一个Javascript对象
|
||||||
|
// updateObject: function(obj, newObjFunction, renderImmediately) {
|
||||||
|
// var id = obj.id;
|
||||||
|
// if (Ext.type(renderImmediately) == 'boolean' && !renderImmediately) {
|
||||||
|
|
||||||
|
// // 1.取得父容器
|
||||||
|
// var owner = obj.ownerCt;
|
||||||
|
// // 2.本控件在父容器的位置
|
||||||
|
// var insertIndex = owner.items.indexOf(obj);
|
||||||
|
// // 3.从父容器中销毁此控件
|
||||||
|
// owner.remove(obj);
|
||||||
|
// // 4.创建新的控件
|
||||||
|
// newObjFunction();
|
||||||
|
// // 5.将新的控件添加到删除的位置
|
||||||
|
// owner.insert(insertIndex, Ext.getCmp(id));
|
||||||
|
// // 6.父容器重新布局
|
||||||
|
// owner.doLayout();
|
||||||
|
|
||||||
|
// }
|
||||||
|
// else {
|
||||||
|
|
||||||
|
// // 1.销毁此控件
|
||||||
|
// obj.destroy();
|
||||||
|
// // 2.新建此控件
|
||||||
|
// newObjFunction();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
})();
|
45
FineUI.Examples/extjs_builder/js/F/F.format.js
Normal file
45
FineUI.Examples/extjs_builder/js/F/F.format.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
|
||||||
|
(function () {
|
||||||
|
|
||||||
|
var ExtF = Ext.util.Format;
|
||||||
|
|
||||||
|
F.format = {
|
||||||
|
|
||||||
|
capitalize: ExtF.capitalize,
|
||||||
|
|
||||||
|
dateRenderer: ExtF.dateRenderer,
|
||||||
|
|
||||||
|
ellipsisRenderer: function (length) {
|
||||||
|
return function (value) {
|
||||||
|
return ExtF.ellipsis(value, length, false);
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
fileSize: ExtF.fileSize,
|
||||||
|
|
||||||
|
htmlEncode: ExtF.htmlEncode,
|
||||||
|
|
||||||
|
htmlDecode: ExtF.htmlDecode,
|
||||||
|
|
||||||
|
lowercase: ExtF.lowercase,
|
||||||
|
|
||||||
|
uppercase: ExtF.uppercase,
|
||||||
|
|
||||||
|
nl2br: ExtF.nl2br,
|
||||||
|
|
||||||
|
//number: ExtF.numberRenderer,
|
||||||
|
|
||||||
|
stripScripts: ExtF.stripScripts,
|
||||||
|
|
||||||
|
stripTags: ExtF.stripTags,
|
||||||
|
|
||||||
|
trim: ExtF.trim
|
||||||
|
|
||||||
|
//usMoney: ExtF.usMoney
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
})();
|
118
FineUI.Examples/extjs_builder/js/F/F.simulateTree.js
Normal file
118
FineUI.Examples/extjs_builder/js/F/F.simulateTree.js
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
|
||||||
|
(function() {
|
||||||
|
|
||||||
|
function getParentIndex(levels, level, index) {
|
||||||
|
if (level > 0) {
|
||||||
|
for (var i = index - 1; i >= 0; i--) {
|
||||||
|
if (levels[i] == level - 1) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function hasLittleBrother(levels, level, index) {
|
||||||
|
if (index < levels.length - 1) {
|
||||||
|
for (var i = index + 1; i < levels.length; i++) {
|
||||||
|
if (levels[i] == level) {
|
||||||
|
return true;
|
||||||
|
} else if (levels[i] < level) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getParentTempData(tempdatas, tempdata, prefixIndex) {
|
||||||
|
for (var i = 0; i < prefixIndex - 1; i++) {
|
||||||
|
tempdata = tempdatas[tempdata.parentIndex];
|
||||||
|
}
|
||||||
|
return tempdata;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPrefixInner(tempdatas, tempdata, prefixIndex) {
|
||||||
|
// If level = 3, then prefixIndex array will be: [3, 2, 1]
|
||||||
|
// prefixIndex === 1 will always present the nearest prefix next to the Text.
|
||||||
|
if (prefixIndex === 1) {
|
||||||
|
if (tempdata.littleBrother) {
|
||||||
|
return '<div class="x-elbow"></div>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return '<div class="x-elbow-end"></div>';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var parentdata = getParentTempData(tempdatas, tempdata, prefixIndex);
|
||||||
|
if (parentdata.littleBrother) {
|
||||||
|
return '<div class="x-elbow-line"></div>';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return '<div class="x-elbow-empty"></div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPrefix(tempdatas, index) {
|
||||||
|
var tempdata = tempdatas[index];
|
||||||
|
var level = tempdata.level;
|
||||||
|
var prefix = [];
|
||||||
|
for (var i = level; i > 0; i--) {
|
||||||
|
prefix.push(getPrefixInner(tempdatas, tempdata, i));
|
||||||
|
}
|
||||||
|
return prefix.join('');
|
||||||
|
}
|
||||||
|
|
||||||
|
F.simulateTree = {
|
||||||
|
|
||||||
|
transform: function(datas) {
|
||||||
|
if (!datas.length || datas[0].length < 4) {
|
||||||
|
return datas;
|
||||||
|
}
|
||||||
|
|
||||||
|
//// store: new Ext.data.ArrayStore({ fields: ['value', 'text', 'enabled', 'prefix'] })
|
||||||
|
//// Sample data:
|
||||||
|
//[
|
||||||
|
// ["0", "jQuery", 0, 0],
|
||||||
|
// ["1", "Core", 0, 1],
|
||||||
|
// ["2", "Selectors", 0, 1],
|
||||||
|
// ["3", "Basic Filters", 1, 2],
|
||||||
|
// ["4", "Content Filters", 1, 2],
|
||||||
|
// ["41", "Contains", 1, 3],
|
||||||
|
// ["5", "Attribute Filters", 1, 2],
|
||||||
|
// ["6", "Traversing", 1, 1],
|
||||||
|
// ["7", "Filtering", 1, 2],
|
||||||
|
// ["8", "Finding", 1, 2],
|
||||||
|
// ["9", "Events", 0, 1],
|
||||||
|
// ["10", "Page Load", 1, 2],
|
||||||
|
// ["11", "Event Handling", 1, 2],
|
||||||
|
// ["12", "Interaction Helpers", 1, 2],
|
||||||
|
// ["13", "Ajax", 1, 1]
|
||||||
|
//]
|
||||||
|
var levels = [];
|
||||||
|
Ext.Array.each(datas, function (data, index) {
|
||||||
|
levels.push(data[3]);
|
||||||
|
});
|
||||||
|
|
||||||
|
var tempdatas = [];
|
||||||
|
Ext.Array.each(levels, function (level, index) {
|
||||||
|
tempdatas.push({
|
||||||
|
'level': level,
|
||||||
|
'parentIndex': getParentIndex(levels, level, index),
|
||||||
|
'littleBrother': hasLittleBrother(levels, level, index)
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var newdatas = [];
|
||||||
|
Ext.Array.each(datas, function (data, index) {
|
||||||
|
newdatas.push([data[0], data[1], data[2], getPrefix(tempdatas, index)]);
|
||||||
|
});
|
||||||
|
return newdatas;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
1307
FineUI.Examples/extjs_builder/js/F/F.util.js
Normal file
1307
FineUI.Examples/extjs_builder/js/F/F.util.js
Normal file
File diff suppressed because it is too large
Load Diff
317
FineUI.Examples/extjs_builder/js/F/F.wnd.js
Normal file
317
FineUI.Examples/extjs_builder/js/F/F.wnd.js
Normal file
@ -0,0 +1,317 @@
|
|||||||
|
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
|
||||||
|
// 计算黄金分割点的位置
|
||||||
|
// bodySize : 整个页面的Body的大小
|
||||||
|
// windowSize : 窗口的大小
|
||||||
|
function _calculateGoldenPosition(bodySize, windowSize) {
|
||||||
|
var top = (bodySize.height - (bodySize.height / 1.618)) - windowSize.height / 2;
|
||||||
|
if (top < 0) {
|
||||||
|
top = 0;
|
||||||
|
}
|
||||||
|
var left = (bodySize.width - windowSize.width) / 2;
|
||||||
|
if (left < 0) {
|
||||||
|
left = 0;
|
||||||
|
}
|
||||||
|
return { left: left, top: top };
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算中间的位置
|
||||||
|
// bodySize : 整个页面的Body的大小
|
||||||
|
// windowSize : 窗口的大小
|
||||||
|
function _calculateCenterPosition(bodySize, windowSize) {
|
||||||
|
var top = (bodySize.height - windowSize.height) / 2;
|
||||||
|
if (top < 0) {
|
||||||
|
top = 0;
|
||||||
|
}
|
||||||
|
var left = (bodySize.width - windowSize.width) / 2;
|
||||||
|
if (left < 0) {
|
||||||
|
left = 0;
|
||||||
|
}
|
||||||
|
return { left: left, top: top };
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 创建IFrame节点片段
|
||||||
|
function _createIFrameHtml(iframeUrl, iframeName) {
|
||||||
|
return '<iframe frameborder="0" style="overflow:auto;height:100%;width:100%;" name="' + iframeName + '" src="' + iframeUrl + '"></iframe>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取窗体的外部容器
|
||||||
|
function _getWrapperNode(panel) {
|
||||||
|
return Ext.get(panel.el.findParentNode('.x-window-wrapper'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// FineUI窗口域(Window)
|
||||||
|
F.wnd = {
|
||||||
|
|
||||||
|
closeButtonTooltip: "Close this window",
|
||||||
|
formChangeConfirmMsg: "Current form has been modified, abandon changes?",
|
||||||
|
|
||||||
|
createIFrameHtml: function (iframeUrl, iframeName) {
|
||||||
|
return _createIFrameHtml(iframeUrl, iframeName);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 窗体定义:Original Panel / Ghost Panel
|
||||||
|
|
||||||
|
// 显示一个弹出窗体
|
||||||
|
// 在 panel 实例中,定义了几个自定义属性,用于标示此实例的状态(在PanelBase中定义)
|
||||||
|
// 属性 - f_iframe/f_iframe_url/f_iframe_name/f_iframe_loaded
|
||||||
|
// panel : 当前弹出的窗体(Ext-Window)
|
||||||
|
// iframeUrl : 弹出窗体中包含的IFrame的地址
|
||||||
|
// windowTitle : 弹出窗体的标题
|
||||||
|
// left/top : 弹出窗体的左上角坐标(如果为空字符串,则使用中间位置或黄金分隔位置)
|
||||||
|
// isGoldenSection : 弹出窗体位于页面的黄金分隔位置
|
||||||
|
// hiddenHiddenFieldID : 隐藏表单字段记录此窗体是否弹出,也页面回发时保持状态用
|
||||||
|
show: function (panel, iframeUrl, windowTitle, left, top, isGoldenSection, hiddenHiddenFieldID, width, height) {
|
||||||
|
var target = F.util.getTargetWindow(panel['f_property_target']);
|
||||||
|
var guid = panel['f_property_guid'];
|
||||||
|
if (window.frameElement && target !== window) {
|
||||||
|
// 当前页面在IFrame中(也即时 window.frameElement 存在)
|
||||||
|
// 此弹出窗体需要在父窗口中弹出
|
||||||
|
if (!target.F[guid]) {
|
||||||
|
// 父窗口中已经创建了这个Ext-Window对象
|
||||||
|
var wrapper = guid + '_wrapper';
|
||||||
|
if (!target.Ext.get(wrapper)) {
|
||||||
|
target.F.util.appendFormNode('<div class="x-window-wrapper" id="' + wrapper + '"></div>');
|
||||||
|
} else {
|
||||||
|
target.Ext.get(wrapper).dom.innerHTML = '';
|
||||||
|
}
|
||||||
|
// Ext.apply 的第三个参数是default obejct
|
||||||
|
var config = Ext.apply({}, {
|
||||||
|
'renderTo': wrapper,
|
||||||
|
'id': guid,
|
||||||
|
'f_property_window': window,
|
||||||
|
'f_property_ext_window': panel
|
||||||
|
}, panel.initialConfig);
|
||||||
|
|
||||||
|
// 在父页面中创建一个Ext-Window的幻影(拷贝)
|
||||||
|
target.F[guid] = target.Ext.create('Ext.window.Window', config);
|
||||||
|
}
|
||||||
|
panel = target.F[guid];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (iframeUrl !== '') {
|
||||||
|
F.wnd.updateIFrameNode(panel, iframeUrl);
|
||||||
|
}
|
||||||
|
if (windowTitle != '') {
|
||||||
|
panel.setTitle(windowTitle);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (typeof(width) === 'number' && width) {
|
||||||
|
panel.setWidth(width);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof(height) === 'number' && height) {
|
||||||
|
panel.setHeight(height);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Ext.get(hiddenHiddenFieldID).dom.value = 'false';
|
||||||
|
panel.show();
|
||||||
|
|
||||||
|
if (left !== '' && top !== '') {
|
||||||
|
panel.setPosition(parseInt(left, 10), parseInt(top, 10));
|
||||||
|
} else {
|
||||||
|
var bodySize = target.window.Ext.getBody().getViewSize();
|
||||||
|
var panelSize = panel.getSize(), leftTop;
|
||||||
|
if (isGoldenSection) {
|
||||||
|
leftTop = _calculateGoldenPosition(bodySize, panelSize);
|
||||||
|
} else {
|
||||||
|
leftTop = _calculateCenterPosition(bodySize, panelSize);
|
||||||
|
//panel.alignTo(target.Ext.getBody(), "c-c");
|
||||||
|
}
|
||||||
|
panel.setPosition(leftTop.left, leftTop.top);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (panel.maximizable) {
|
||||||
|
F.wnd.fixMaximize(panel);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取Ghost Panel实例
|
||||||
|
getGhostPanel: function (panel, targetName, guid) {
|
||||||
|
if (typeof (targetName) === 'undefined') {
|
||||||
|
targetName = panel.f_property_target;
|
||||||
|
}
|
||||||
|
if (typeof (guid) === 'undefined') {
|
||||||
|
guid = panel.f_property_guid;
|
||||||
|
}
|
||||||
|
var target = F.util.getTargetWindow(targetName);
|
||||||
|
if (window.frameElement && target !== window) {
|
||||||
|
// 从父页面中查找幻影Ext-Window对象
|
||||||
|
panel = target.F[guid];
|
||||||
|
}
|
||||||
|
return panel;
|
||||||
|
},
|
||||||
|
|
||||||
|
// 隐藏Ext-Window(比如用户点击了关闭按钮)
|
||||||
|
hide: function (panel, enableIFrame, hiddenHiddenFieldID) {
|
||||||
|
var panel = F.wnd.getGhostPanel(panel);
|
||||||
|
|
||||||
|
// 如果返回 false,则说明隐藏操作被阻止了
|
||||||
|
if (panel.hide() !== false) {
|
||||||
|
|
||||||
|
// 修改当前页面中记录弹出窗口弹出状态的隐藏表单字段
|
||||||
|
Ext.get(hiddenHiddenFieldID).dom.value = 'true';
|
||||||
|
// 如果启用IFrame,则清空IFrame的内容,防止下次打开时显示残影
|
||||||
|
if (enableIFrame) {
|
||||||
|
// 如果不加延迟,IE下AJAX会出错,因为在success中已经把当前窗体关闭后,而后面还要继续使用本页面上相关对象
|
||||||
|
window.setTimeout(function () {
|
||||||
|
panel['f_iframe_loaded'] = false;
|
||||||
|
panel.update("");
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 最大化
|
||||||
|
maximize: function (panel) {
|
||||||
|
var panel = F.wnd.getGhostPanel(panel);
|
||||||
|
panel.maximize();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 最小化
|
||||||
|
minimize: function (panel) {
|
||||||
|
var panel = F.wnd.getGhostPanel(panel);
|
||||||
|
panel.minimize();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 恢复窗体大小
|
||||||
|
restore: function (panel) {
|
||||||
|
var panel = F.wnd.getGhostPanel(panel);
|
||||||
|
panel.restore();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 这是 Extjs 的一个 bug,如果 Window 控件不是渲染在 document.body 中,则 maximize 函数并不能真正的最大化
|
||||||
|
// 现在的 Window 控件时渲染在 from 表单里面的一个 DIV 中的
|
||||||
|
fixMaximize: function (panel) {
|
||||||
|
if (panel.maximized) {
|
||||||
|
var target = F.util.getTargetWindow(panel['f_property_target']);
|
||||||
|
var bodySize = target.window.Ext.getBody().getViewSize();
|
||||||
|
panel.setSize(bodySize.width, bodySize.height);
|
||||||
|
// 不要忘记左上角坐标
|
||||||
|
panel.setPosition(0, 0);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 创建或更新IFrame节点,同时更新panel实例中的自定义属性值
|
||||||
|
updateIFrameNode: function (panel, iframeUrl) {
|
||||||
|
var iframeUrlChanged = false;
|
||||||
|
panel = F.wnd.getGhostPanel(panel);
|
||||||
|
// 如果此Panel中包含有IFrame
|
||||||
|
if (panel && panel['f_iframe']) {
|
||||||
|
if (iframeUrl && panel['f_iframe_url'] !== iframeUrl) {
|
||||||
|
panel['f_iframe_url'] = iframeUrl;
|
||||||
|
iframeUrlChanged = true;
|
||||||
|
}
|
||||||
|
// 如果此Panel中包含的IFrame还没有加载
|
||||||
|
if (!panel['f_iframe_loaded']) {
|
||||||
|
window.setTimeout(function () {
|
||||||
|
// 如果此Panel已经创建完毕,但有时Panel可能是延迟创建的(比如TabStrip中的Tab,只有点击这个Tab时才创建Tab的内容)
|
||||||
|
panel['f_iframe_loaded'] = true;
|
||||||
|
panel.update(_createIFrameHtml(panel['f_iframe_url'], panel['f_iframe_name']));
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (iframeUrlChanged) {
|
||||||
|
panel.body.query('iframe')[0].src = panel['f_iframe_url'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 处理表单中有任何字段发生变化时,关闭当前窗口时的提示
|
||||||
|
confirmModified: function (closeFn) {
|
||||||
|
if (F.util.isPageStateChanged()) {
|
||||||
|
F.util.confirm('_self', F.wnd.formModifiedConfirmTitle, F.wnd.formChangeConfirmMsg, function () {
|
||||||
|
closeFn.apply(window, arguments);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
closeFn.apply(window, arguments);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// Ext-Window中IFrame里页面中的表单发生变化时弹出确认消息
|
||||||
|
iframeModifiedConfirm: function (panel, closeFn) {
|
||||||
|
// 这个页面所在的Window对象
|
||||||
|
var pageWindow = F.wnd.getIFrameWindowObject(panel);
|
||||||
|
// 如果弹出的页面没能正常加载(比如说网络暂时连接中断)
|
||||||
|
// 则直接关闭弹出的Ext-Window,而不会去检查页面表单变化,因为页面对象不存在
|
||||||
|
if (pageWindow.F) {
|
||||||
|
pageWindow.F.wnd.confirmModified(closeFn);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
panel.f_hide();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 取得Ghost Panel所在页面window对象
|
||||||
|
getIFrameWindowObject: function (panel) {
|
||||||
|
// 当前页面在IFrame中(也即时 window.frameElement 存在)
|
||||||
|
// 此Ext-Window需要在父窗口中弹出
|
||||||
|
/*
|
||||||
|
if (window.frameElement && panel['f_property_show_in_parent']) {
|
||||||
|
panel = parent.F[panel['f_property_guid']];
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
panel = F.wnd.getGhostPanel(panel);
|
||||||
|
var iframeNode = Ext.query('iframe', panel.body.dom);
|
||||||
|
if (iframeNode.length === 0) {
|
||||||
|
// 当前panel(Ext-Window)不包含iframe
|
||||||
|
return window;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return iframeNode[0].contentWindow;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 返回当前活动Window组件对象(浏览器窗口对象通过F.wnd.getActiveWindow().window获取)
|
||||||
|
getActiveWindow: function () {
|
||||||
|
|
||||||
|
// Ext.WindowManager.getActive();有可能返回一个弹出对话框
|
||||||
|
function getActiveFineUIWindow(wnd) {
|
||||||
|
var result = wnd.Ext.WindowManager.getActive();
|
||||||
|
if (!result.f_property_guid) {
|
||||||
|
wnd.Ext.WindowManager.eachTopDown(function (cmp) {
|
||||||
|
if (cmp.f_property_guid) {
|
||||||
|
result = cmp;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
var activeWindow = parent.window;
|
||||||
|
var activeExtWindow = getActiveFineUIWindow(activeWindow);
|
||||||
|
if (activeExtWindow) {
|
||||||
|
if (activeExtWindow['f_property_window']) {
|
||||||
|
activeWindow = activeExtWindow['f_property_window'];
|
||||||
|
activeExtWindow = activeExtWindow['f_property_ext_window'];
|
||||||
|
}
|
||||||
|
activeExtWindow.window = activeWindow;
|
||||||
|
}
|
||||||
|
return activeExtWindow;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 向弹出此Ext-Window的页面写入值
|
||||||
|
writeBackValue: function () {
|
||||||
|
var aw = F.wnd.getActiveWindow();
|
||||||
|
var controlIds = aw['f_property_save_state_control_client_ids'];
|
||||||
|
var controlCount = Math.min(controlIds.length, arguments.length);
|
||||||
|
for (var i = 0; i < controlCount; i++) {
|
||||||
|
aw.window.Ext.getCmp(controlIds[i]).setValue(arguments[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
})();
|
1674
FineUI.Examples/extjs_builder/js/F/extender.js
Normal file
1674
FineUI.Examples/extjs_builder/js/F/extender.js
Normal file
File diff suppressed because it is too large
Load Diff
49
FineUI.Examples/extjs_builder/js/lang/f-lang-en.js
Normal file
49
FineUI.Examples/extjs_builder/js/lang/f-lang-en.js
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.ajax, {
|
||||||
|
errorMsg: "Error! {0} ({1})",
|
||||||
|
timeoutErrorMsg: "Request timeout, please refresh the page and try again!"
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(F.util, {
|
||||||
|
alertTitle: "Alert Dialog",
|
||||||
|
confirmTitle: "Confirm Dialog",
|
||||||
|
formAlertMsg: "Please provide valid value for {0}!",
|
||||||
|
formAlertTitle: "Form Invalid",
|
||||||
|
loading: "Loading..."
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(F.wnd, {
|
||||||
|
closeButtonTooltip: "Close this window",
|
||||||
|
formChangeConfirmMsg: "Current form has been modified, abandon changes?"
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//if (Ext.ux.SimplePagingToolbar) {
|
||||||
|
// Ext.apply(Ext.ux.SimplePagingToolbar.prototype, {
|
||||||
|
// beforePageText: "Page",
|
||||||
|
// afterPageText: "of {0}",
|
||||||
|
// firstText: "First Page",
|
||||||
|
// prevText: "Previous Page",
|
||||||
|
// nextText: "Next Page",
|
||||||
|
// lastText: "Last Page",
|
||||||
|
// displayMsg: "Displaying {0} - {1} of {2}",
|
||||||
|
// emptyMsg: 'No data to display'
|
||||||
|
// });
|
||||||
|
//}
|
||||||
|
|
||||||
|
if (Ext.ux.TabCloseMenu) {
|
||||||
|
Ext.apply(Ext.ux.TabCloseMenu.prototype, {
|
||||||
|
closeTabText: "Close Tab",
|
||||||
|
closeOthersTabsText: "Close Other Tabs",
|
||||||
|
closeAllTabsText: "Close All Tabs"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Ext.ux.form && Ext.ux.form.FileUploadField) {
|
||||||
|
Ext.apply(Ext.ux.form.FileUploadField.prototype, {
|
||||||
|
buttonText: "Browse..."
|
||||||
|
});
|
||||||
|
}
|
40
FineUI.Examples/extjs_builder/js/lang/f-lang-pt_BR.js
Normal file
40
FineUI.Examples/extjs_builder/js/lang/f-lang-pt_BR.js
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
/**
|
||||||
|
* pt_BR translation
|
||||||
|
* By Ujvari
|
||||||
|
* 2009-09-21
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
//if(Ext.ux.SimplePagingToolbar){
|
||||||
|
//Ext.apply(Ext.ux.SimplePagingToolbar.prototype, {
|
||||||
|
// beforePageText: "Página",
|
||||||
|
// afterPageText: "de {0}",
|
||||||
|
// firstText: "Primeira Página",
|
||||||
|
// prevText: "Página Anterior",
|
||||||
|
// nextText: "Próxima Página",
|
||||||
|
// lastText: "Última Página",
|
||||||
|
// displayMsg: "Mostrando {0} - {1} de {2}",
|
||||||
|
// emptyMsg: 'Sem dados a serem exibidos'
|
||||||
|
//});
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.ajax, {
|
||||||
|
errorMsg: "Mensagem de Erro: {0} ( {1} )"
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.util, {
|
||||||
|
alertTitle: "Alerta",
|
||||||
|
confirmTitle: "Confirmação",
|
||||||
|
formAlertMsg: "Por favor, insira um valor para o campo {0}!",
|
||||||
|
formAlertTitle: "Formulário Inválido",
|
||||||
|
loading: "Carregando..."
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.wnd, {
|
||||||
|
closeButtonTooltip: "Close this window",
|
||||||
|
formChangeConfirmMsg: "O formulário atual foi modificado, cancelar Alterações?"
|
||||||
|
});
|
30
FineUI.Examples/extjs_builder/js/lang/f-lang-ru.js
Normal file
30
FineUI.Examples/extjs_builder/js/lang/f-lang-ru.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
//if(Ext.ux.SimplePagingToolbar){
|
||||||
|
//Ext.apply(Ext.ux.SimplePagingToolbar.prototype, {
|
||||||
|
// beforePageText: "Страница",
|
||||||
|
// afterPageText: "из {0}",
|
||||||
|
// firstText: "Первая Страница",
|
||||||
|
// prevText: "Предыдущая Страница",
|
||||||
|
// nextText: "Следующая Страница",
|
||||||
|
// lastText: "Последняя Страница",
|
||||||
|
// displayMsg: "Отображается {0} - {1} из {2}",
|
||||||
|
// emptyMsg: 'Нет данных для отображения'
|
||||||
|
//});
|
||||||
|
//}
|
||||||
|
|
||||||
|
Ext.apply(F.ajax, {
|
||||||
|
errorMsg: "Запрос текущей страницы не удался!<br /><br />Сообщение об Ошибке: {0} ({1})"
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(F.util, {
|
||||||
|
alertTitle: "Диалог события",
|
||||||
|
confirmTitle: "Диалог подтверждения",
|
||||||
|
formAlertMsg: "Пожалуйста укажите значение для {0}!",
|
||||||
|
formAlertTitle: "Форма неверна",
|
||||||
|
loading: "Загрузка..."
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(F.wnd, {
|
||||||
|
closeButtonTooltip: "Закрывает это окно",
|
||||||
|
formChangeConfirmMsg: "Текущая форма была изменена, oтменить изменения?"
|
||||||
|
});
|
31
FineUI.Examples/extjs_builder/js/lang/f-lang-tr.js
Normal file
31
FineUI.Examples/extjs_builder/js/lang/f-lang-tr.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.ajax, {
|
||||||
|
errorMsg: "Hata bilgisi: {0} ({1})"
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(F.util, {
|
||||||
|
alertTitle: "Uyarı",
|
||||||
|
confirmTitle: "Onay",
|
||||||
|
formAlertMsg: "Lütfen {0} alanı için geçerli bir değer giriniz!",
|
||||||
|
formAlertTitle: "Hatalı form bilgisi",
|
||||||
|
loading: "Yükleniyor..."
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(F.wnd, {
|
||||||
|
closeButtonTooltip: "Pencereyi Kapat",
|
||||||
|
formChangeConfirmMsg: "Mevcut sayfadaki bilgiler değiştirildi, değişiklikleri iptal et?"
|
||||||
|
});
|
||||||
|
|
||||||
|
//if (Ext.ux.SimplePagingToolbar) {
|
||||||
|
// Ext.apply(Ext.ux.SimplePagingToolbar.prototype, {
|
||||||
|
// beforePageText: "Sayfa",
|
||||||
|
// afterPageText: " / {0}",
|
||||||
|
// firstText: "İlk Sayfa",
|
||||||
|
// prevText: "Önceki Sayfa",
|
||||||
|
// nextText: "Sonraki Sayfa",
|
||||||
|
// lastText: "Son Sayfa",
|
||||||
|
// displayMsg: "{0} - {1} (Toplam {2})",
|
||||||
|
// emptyMsg: 'Gösterilecek bilgi yok'
|
||||||
|
// });
|
||||||
|
//}
|
51
FineUI.Examples/extjs_builder/js/lang/f-lang-zh_CN.js
Normal file
51
FineUI.Examples/extjs_builder/js/lang/f-lang-zh_CN.js
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.ajax, {
|
||||||
|
errorMsg: "出错了!{0} ({1})",
|
||||||
|
timeoutErrorMsg: "请求超时,请刷新页面并重试!"
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(F.util, {
|
||||||
|
alertTitle: "提示对话框",
|
||||||
|
confirmTitle: "确认对话框",
|
||||||
|
formAlertMsg: "请为 {0} 提供有效值!",
|
||||||
|
formAlertTitle: "表单不完整",
|
||||||
|
loading: "正在加载..."
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.wnd, {
|
||||||
|
closeButtonTooltip: "关闭此窗口",
|
||||||
|
formChangeConfirmMsg: "当前表单已经被修改,确认放弃修改?"
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//if (Ext.ux.SimplePagingToolbar) {
|
||||||
|
// Ext.apply(Ext.ux.SimplePagingToolbar.prototype, {
|
||||||
|
// beforePageText: "转到",
|
||||||
|
// afterPageText: " 共 {0} 页",
|
||||||
|
// firstText: "第一页",
|
||||||
|
// prevText: "前一页",
|
||||||
|
// nextText: "下一页",
|
||||||
|
// lastText: "最后页",
|
||||||
|
// displayMsg: "显示 {0} - {1},共 {2} 条",
|
||||||
|
// emptyMsg: '没有数据需要显示'
|
||||||
|
// });
|
||||||
|
//}
|
||||||
|
|
||||||
|
if (Ext.ux.TabCloseMenu) {
|
||||||
|
Ext.apply(Ext.ux.TabCloseMenu.prototype, {
|
||||||
|
closeTabText: "关闭标签",
|
||||||
|
closeOthersTabsText: "关闭其它标签",
|
||||||
|
closeAllTabsText: "关闭全部标签"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (Ext.ux.form && Ext.ux.form.FileUploadField) {
|
||||||
|
Ext.apply(Ext.ux.form.FileUploadField.prototype, {
|
||||||
|
buttonText: "浏览..."
|
||||||
|
});
|
||||||
|
}
|
50
FineUI.Examples/extjs_builder/js/lang/f-lang-zh_TW.js
Normal file
50
FineUI.Examples/extjs_builder/js/lang/f-lang-zh_TW.js
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.ajax, {
|
||||||
|
errorMsg: "出錯了!{0} ({1})",
|
||||||
|
timeoutErrorMsg: "請求超時,請刷新頁面並重試!"
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.apply(F.util, {
|
||||||
|
alertTitle: "提示對話方塊",
|
||||||
|
confirmTitle: "確認對話方塊",
|
||||||
|
formAlertMsg: "請為 {0} 提供有效值!",
|
||||||
|
formAlertTitle: "表單不完整",
|
||||||
|
loading: "正在載入..."
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Ext.apply(F.wnd, {
|
||||||
|
closeButtonTooltip: "關閉此窗口",
|
||||||
|
formChangeConfirmMsg: "當前表單已經被修改,確認放棄修改?"
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//if (Ext.ux.SimplePagingToolbar) {
|
||||||
|
// Ext.apply(Ext.ux.SimplePagingToolbar.prototype, {
|
||||||
|
// beforePageText: "轉到",
|
||||||
|
// afterPageText: " 共 {0} 頁",
|
||||||
|
// firstText: "第一頁",
|
||||||
|
// prevText: "前一頁",
|
||||||
|
// nextText: "下一頁",
|
||||||
|
// lastText: "最後頁",
|
||||||
|
// displayMsg: "顯示 {0} - {1},共 {2} 條",
|
||||||
|
// emptyMsg: "没有資料需要顯示"
|
||||||
|
// });
|
||||||
|
//}
|
||||||
|
|
||||||
|
if (Ext.ux.form && Ext.ux.TabCloseMenu) {
|
||||||
|
Ext.apply(Ext.ux.TabCloseMenu.prototype, {
|
||||||
|
closeTabText: "關閉標籤",
|
||||||
|
closeOthersTabsText: "關閉其它標籤",
|
||||||
|
closeAllTabsText: "關閉全部標籤"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Ext.ux.form && Ext.ux.form.FileUploadField) {
|
||||||
|
Ext.apply(Ext.ux.form.FileUploadField.prototype, {
|
||||||
|
buttonText: "瀏覽..."
|
||||||
|
});
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
Ext.define('Ext.ux.FormViewport', {
|
Ext.define('Ext.ux.FormViewport', {
|
||||||
extend: 'Ext.container.Container',
|
extend: 'Ext.container.Container',
|
||||||
|
alias: 'widget.formviewport',
|
||||||
|
|
||||||
isViewport: true,
|
isViewport: true,
|
||||||
|
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
Ext.define('Ext.ux.SimplePagingToolbar', {
|
Ext.define('Ext.ux.SimplePagingToolbar', {
|
||||||
extend: 'Ext.toolbar.Paging',
|
extend: 'Ext.toolbar.Paging',
|
||||||
|
alias: 'widget.simplepagingtoolbar',
|
||||||
|
|
||||||
|
cls: 'x-toolbar-paging',
|
||||||
|
|
||||||
// Override parent
|
// Override parent
|
||||||
initComponent: function () {
|
initComponent: function () {
|
||||||
@ -9,9 +12,9 @@ Ext.define('Ext.ux.SimplePagingToolbar', {
|
|||||||
|
|
||||||
me.store = Ext.Object.merge({}, me.store, {
|
me.store = Ext.Object.merge({}, me.store, {
|
||||||
getCount: function () {
|
getCount: function () {
|
||||||
return me.x_recordCount;
|
return me.f_recordCount;
|
||||||
},
|
},
|
||||||
currentPage: me.x_pageIndex + 1
|
currentPage: me.f_pageIndex + 1
|
||||||
});
|
});
|
||||||
|
|
||||||
me.callParent();
|
me.callParent();
|
||||||
@ -27,29 +30,29 @@ Ext.define('Ext.ux.SimplePagingToolbar', {
|
|||||||
// Override parent
|
// Override parent
|
||||||
getPageData: function () {
|
getPageData: function () {
|
||||||
var fromRecord = 0, toRecord = 0;
|
var fromRecord = 0, toRecord = 0;
|
||||||
if (this.x_databasePaging) {
|
if (this.f_databasePaging) {
|
||||||
fromRecord = (this.x_pageIndex * this.x_pageSize) + 1;
|
fromRecord = (this.f_pageIndex * this.f_pageSize) + 1;
|
||||||
toRecord = fromRecord + this.x_pageSize - 1;
|
toRecord = fromRecord + this.f_pageSize - 1;
|
||||||
} else {
|
} else {
|
||||||
fromRecord = this.x_startRowIndex + 1;
|
fromRecord = this.f_startRowIndex + 1;
|
||||||
toRecord = this.x_endRowIndex + 1;
|
toRecord = this.f_endRowIndex + 1;
|
||||||
}
|
}
|
||||||
if (toRecord > this.x_recordCount) {
|
if (toRecord > this.f_recordCount) {
|
||||||
toRecord = this.x_recordCount;
|
toRecord = this.f_recordCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
total: this.x_recordCount,
|
total: this.f_recordCount,
|
||||||
currentPage: this.x_pageIndex + 1,
|
currentPage: this.f_pageIndex + 1,
|
||||||
pageCount: this.x_pageCount <= 0 ? 1 : this.x_pageCount,
|
pageCount: this.f_pageCount <= 0 ? 1 : this.f_pageCount,
|
||||||
fromRecord: fromRecord,
|
fromRecord: fromRecord,
|
||||||
toRecord: toRecord
|
toRecord: toRecord
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
x_update: function (configs) {
|
f_update: function (configs) {
|
||||||
Ext.Object.merge(this, configs);
|
Ext.Object.merge(this, configs);
|
||||||
this.store.currentPage = this.x_pageIndex + 1;
|
this.store.currentPage = this.f_pageIndex + 1;
|
||||||
this.onLoad();
|
this.onLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,13 @@
|
|||||||
-webkit-user-select: auto;
|
-webkit-user-select: auto;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
.f-hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.f-inline-block {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.cursor-pointer {
|
.cursor-pointer {
|
||||||
@ -69,6 +75,24 @@
|
|||||||
color: gray;
|
color: gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.f-input-text-hidden {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: -10000px;
|
||||||
|
width: 1px;
|
||||||
|
height: 1px;
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.f-field-ddlpop-autowidth .x-boundlist-item {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
/* radiogroup background color */
|
/* radiogroup background color */
|
||||||
/*.x-form-radio-group .x-panel-body
|
/*.x-form-radio-group .x-panel-body
|
||||||
{
|
{
|
||||||
@ -96,7 +120,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.box-accrodion-link-ul li
|
.f-accrodion-link-ul li
|
||||||
{
|
{
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
padding: 1px 5px;
|
padding: 1px 5px;
|
||||||
@ -104,13 +128,13 @@
|
|||||||
border-bottom: #eee 1px solid;
|
border-bottom: #eee 1px solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-accrodion-link-ul li.box-accrodion-link-hover
|
.f-accrodion-link-ul li.f-accrodion-link-hover
|
||||||
{
|
{
|
||||||
border: #ffbd69 1px solid;
|
border: #ffbd69 1px solid;
|
||||||
background-image: url(../images/accordion_link_hover2.gif);
|
background-image: url(../images/accordion_link_hover2.gif);
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
.box-accrodion-link-ul li.box-accrodion-link-select
|
.f-accrodion-link-ul li.f-accrodion-link-select
|
||||||
{
|
{
|
||||||
background-image: url();
|
background-image: url();
|
||||||
border: #ffb74c 1px solid;
|
border: #ffb74c 1px solid;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user