此次更新包括:
分页控件 (PagingPanel)
日期选择控件 (CalendarBox)
自动完成控件 (AutoCompleteBox)
验证码控件 (ValidateBox)
图片上传控件 (ImageUploader)
折叠面板控件 (FoldingPanel)
图片预览控件 (ImageViewer)
面板控件 (Panel)
屏蔽输入控件 (MaskTextBox)
该控件使用C#2003开发,如果使用到2005可能会出现不兼容问题。使用FaibClass.WebControls控件,需要配置Web.Config文件。如下:
<system.web>
<httpHandlers>
<add verb="POST,GET" path="*.fbs.ashx" type="FaibClass.WebControls.AshxHandlerFactory, FaibClass.WebControls" />
</httpHandlers>
</system.web>
现将该控件包里的每一个控件一一作简单说明。
一、分页控件(PagingPanel)
控件可以关联DataGrid、 DataList、 Repeater,目前可传入的数据源有DataTable、DataView、Array、ArrayList。控件采用按需提取单页数据,因此不必担心速度与页面体积的问题。
主要属性
名称 | 说明 |
AutoGetCurrentPageIndex | 是否在PageIndexChanged中自动的设置新的PageIndex,如果为False,则需在事件中设置pgp.CurrentPageIndex = e.NewPageIndex。 |
AutoPostBack | 是否使用PostBack方式进行分页,如果为Falsh,则使用Url传送PageIndex。 |
CurrentPageCssClass | 当前页页码的显示样式。 |
CurrentPageIndex | 当前页码的索引值。 |
LinkerId | 可以设置控件的参照体,设置后,此控件的属性、事件都转移到参照体上。 |
PageBoxCssClass | PageBox样式。 |
PageCount | 当前的页码总数。 |
PageFormat | 页码的格式,页码是使用P字符。 |
PageLinkCssClass | 非当前页码的样式。 |
PageNumberCount | 显示的页码顺序列表的个数。 |
PageSize | 每页可显示的数据行数。 |
RecordCount | 当前查询的数据总行数。 |
RepeatColumns | 对应DataList的RepeatColumns。 |
ShowFirstLast | 是否显示“首页”“尾页”。 |
ShowPageBox | 是否显示页码输入框。 |
ShowPageList | 是否显示页码选择框。 |
Text | 显示的文本内容。{RC}数据总数,{PC}总页数,{PS}每页行数,{CP}当前页码。 |
事件
PageIndexChanged 新页码跳转触发事件。如果AutoPostBack = false 则不触发此事件。
方法
LinkPagingPanel :设置参照体,与LinkerId同一用途。
SetDataSource :设置控件数据源。
使用方法如:
private void LoadData1()
{
string[] s = new string[]{"昆明宜佳建材",
"帝王洁具",
"昆明杰盛机电经营部",
"安平县鹏华公司昆明分公司",
"鸿超五金电机",
"昆明锐泰机电设备有限公司",
"昆明力浩经贸有限公司",
"云南莱特工贸有限公司",
"昆明华盛交联电缆销售有限公司"};
dgrd1.DataSource = pgp1.SetDataSource(s);
dgrd1.DataBind();
}
private void pgp1_PageIndexChanged(object sender, FaibClass.WebControls.PageIndexChangedEventArgs e)
{
pgp1.CurrentPageIndex = e.NewPageIndex;
LoadData1();
}
{
string[] s = new string[]{"昆明宜佳建材",
"帝王洁具",
"昆明杰盛机电经营部",
"安平县鹏华公司昆明分公司",
"鸿超五金电机",
"昆明锐泰机电设备有限公司",
"昆明力浩经贸有限公司",
"云南莱特工贸有限公司",
"昆明华盛交联电缆销售有限公司"};
dgrd1.DataSource = pgp1.SetDataSource(s);
dgrd1.DataBind();
}
private void pgp1_PageIndexChanged(object sender, FaibClass.WebControls.PageIndexChangedEventArgs e)
{
pgp1.CurrentPageIndex = e.NewPageIndex;
LoadData1();
}
二、日期选择控件(CalendarBox)
提供日期选择功能的控件。继承自TextBox。
主要属性
名称 | 说明 |
CustomTextBox | 可关联自定义的文本框。即不使用本控件Render的文本框。 |
DateFormat | 可设的日期显示格式。 |
DateSeparator | 日期分隔符。 |
ErrorMessage | 日期格式不正确时的提示信息。 |
ShowStyle | 选择框的如何触发弹出。 |
Value | 当前的日期值。 |
isDate(javascript) | 判断所输入的日期是否符合格式。 |
事件
Changed 日期选择后触发此事件。javascript端相应的事件为OnChanged。
在javascript可以判断当前的日期格式是否正确:
alert(document.all.cdb.isData);
三、自动完成控件(AutoCompleteBox)
现在网上自动完成控件显然不是很多,做成服务器控件的更是几乎没有。
主要属性
名称 | 说明 |
DataSource | 要绑定的数据源。相应的设置DataTextField及DataValueField。 |
ItemCallback | 动态添加列表项的回调javascript函数名。 |
Items | 列表项集合。 |
ListAllItemOnFocus | 获得焦点时是否显示列表框。 |
MatchAnywhere | 是否匹配任意位置的字符串,如果为false则从首字符开始。 |
Rows | 列表框显示的行数。 |
SelectedIndex | 当前的选择项的索引。相关的有SelectedItem、SelectedTex、SelectedValue。 |
SendKeyTab | 选择后是否移到下一控件。 |
Text | 文本值。 |
事件
Changed 列表项选择后触发此事件。javascript端相应的事件为OnChanged。
方法
SelectByText :根据指定的text查找项集合,并选定项。javascript为selectByText。
SelectByValue :根据指定的value查找项集合,并选定项。javascript为selectByValue。
javascript:
items.clear() :清除列表项。items为集合。
items.add(text, value) :添加列表项。
saveState() :保存到ViewState。
saveIndex() :保存选定项索引。
setIndex() :设置选定项索引。
showList() :显示列表框。
此控件多用于javascript中动态的填充数据。如:
// 1、根据act1的选定项填充二级act2,并回传到服务器
var act1 = document.all.act1;
var act2 = document.all.act2;
act2.items.clear(); //清空列表项
if(act1.selectedItem == null) return;
for(var i = 0; i < 10; i++)
{
act2.items.add(i);
}
act2.saveState(); //保存到ViewState中
// 2、根据输入动态的填充列表框,这里需设定ItemCallback
var act2 = document.all.act2;
act2.items.clear(); //清空列表项
for(var i = 0; i < 10; i++)
{
act2.items.add(i);
}
act2.showList(); //显示列表框
var act1 = document.all.act1;
var act2 = document.all.act2;
act2.items.clear(); //清空列表项
if(act1.selectedItem == null) return;
for(var i = 0; i < 10; i++)
{
act2.items.add(i);
}
act2.saveState(); //保存到ViewState中
// 2、根据输入动态的填充列表框,这里需设定ItemCallback
var act2 = document.all.act2;
act2.items.clear(); //清空列表项
for(var i = 0; i < 10; i++)
{
act2.items.add(i);
}
act2.showList(); //显示列表框
未完待续...
下载控件 版本1.3.141
下载示例