Repeater和Gridview前台显示行号的方法
Repeater:<%# Container.ItemIndex %> <%# ((DataRowView)Container.DataItem)["XXXXXX"] %>
GridView:<%# Container.DateItemIndex%>
获取子控件进行编程处理
动态定制实现样式呈现
在生成HTML的函数中可以使用DataBinder.GetPropertyValue(Container.DataItem,"XXX");来得到指定数据对象(即该Container.DataItem)的指定属性的值。但前提是该属性需要申明为public并且至少有get访问器。否则将不起作用(例如该属性实现为一个字段)。举例:
<ItemTemplate><%# GetStyleForItem(Container)%></ItemTemplate>
public string GetStyleForItem(Control dataObj)//public 是必须的
{
string value = DataBinder.GetPropertyValue(dataObj.DataItem,"XXX");
}
Repeater中时间显示格式的更改和变换
<%# DataBinder.Eval(Container.DataItem, "date").ToString().Substring (0,4) +"年"+DataBinder.Eval(Container.DataItem, "date").ToString().Substring (4,2) +"月"+DataBinder.Eval(Container.DataItem, "date").ToString().Substring (7,2) +"日"+DataBinder.Eval(Container.DataItem, "date").ToString().Substring (10,8)%>
Repeater中使用HtmlCode解码
<%# Server.HtmlDecode(DataBinder.Eval(Container.DataItem, "idea").ToString()) %>
Repeater中分页绑定时使用
//使用适配器
//startRecord起始位置
//maxRecord最大记录数,也就是每页条数
string cmdText = "SQL语句"
OracleConnection conn = new OracleConnection(connectionString);
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = cmdText;
cmd.CommandType = CommandType.Text;
OracleDataAdapter dat = new OracleDataAdatper(cmd);
DataTable dt = new DataTable();
dat.Fill(startRecord, maxRecord, dt);
repeaterData.DataSource = dt;
repeaterData.DataBind();
Repeater中的CheckBox选取使用js技术
function CheckAll(obj){
var id = obj.id;
if(id == "allCheck"){
if(obj.checked){
SelectAllCheckBox(true);
}else{
SelectAllCheckBox(false);
}
}else{
if(obj.checked == false){
document.all("allCheck").checked = false;
}else{
var flag = IsAllChecked();
if(flag){
// 全选框被选中
document.all("allCheck").checked = true;
}
}
}
}
function SelectAllCheckBox(checked)
{
// 数据条数隐藏变量
var lenObj = document.all("DataCount");
var len = parseInt(lenObj.value,10);
for (var i = 0; i < len; i++)
{
var tempId = i;
// 小于10时,前面加"0"补齐
if(i < 10)
{
tempId = "0" + i;
}
// 取得复选框
var checkBox = document.all("repeaterData_ctl" + tempId + "_checkBox");
if (checkBox!=null && checkBox.type == "checkbox" )
{
// 设定状态
checkBox.checked = checked;
}
}
}
function IsAllChecked()
{
var flag = true;
// 数据条数隐藏变量
var lenObj = document.all("DataCount");
var len = parseInt(lenObj.value,10);
for (var i = 0; i < len; i++)
{
var tempId = i;
if(i < 10)
{
tempId = "0" + i;
}
var checkBox = document.all("repeaterData_ctl" + tempId + "_checkBox");
if (checkBox!=null && checkBox.type == "checkbox" )
{
// 如果没被选中
if(checkBox.checked == false)
{
flag = false;
}
}
}
return flag;
}
在使用Repeater时,注意使用JS取repeater中控件时要使用repeater给控件生成的ID ,控件本身ID不可用,一般是查询不到的。而在使用GridView时,选择其中控件的方法可以直接使用查找控件ID,但是GridView在数据控件中属于最简单操作的一种,但是针对一它的可用性也是最差的,它在使用的时候使用较多的ViewState记录大量数据,如果想要效果和速度,那么关闭ViewState,但是这样就不能使用GridView中的分页、编辑、删除操作。