headertemplate的简单介绍
Repeater数据控件有哪些模板?分别说明每个模板的作用
HeaderTemplate头模板
ItemTemplate项模板
FooterTemplate脚模板
————————————以上3个没什么好讲的,就是划表格,表头放在Head里面,表格内容放在Item里面,最后表的结束标签放在Foot里面。
下面2个模板稍解释下。
SeparatorTemplate//分割模板SeparatorTemplate 元素能够用于描述每个记录之间的分隔符,eg:插入一条水平线:
SeparatorTemplate
tr
td colspan="6"hr //td
/tr
/SeparatorTemplate
——————————————
AlternatingItemTemplate//该模板定义如何显示控件中的交替项,给你个小列子:
AlternatingItemTemplate
tr bgcolor="#e8e8e8"
td%#Container.DataItem("title")%/td
td%#Container.DataItem("artist")%/td
td%#Container.DataItem("country")%/td
td%#Container.DataItem("company")%/td
td%#Container.DataItem("price")%/td
td%#Container.DataItem("year")%/td
/tr
/AlternatingItemTemplate
你可以在 ItemTemplate 元素后添加 AlternatingItemTemplate 元素,这样就可以描述交替行的外观了。在上面的例子中,该表格中每隔一行就会显示为浅灰色的背景。
还有疑问,再说。
如何给repeater里位于FooterTemplate里的label赋值???? 代码如下:
epeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"
HeaderTemplate tabletrtd编号/tdtd标题/tdtd发布时间/tdtd发布对象/tdtd/tdtd/td/trtrtd colspan="6"hr //td/tr/HeaderTemplate
ItemTemplate trtd
asp:Label ID="id" runat="server" Text='%#Eval ("ID") %'/asp:Label/tdtd%#Eval("Title")%/tdtd%#Eval ("timer") %/tdtd%#Eval ("pto") %/tdtd
asp:LinkButton ID="edit" CommandName ="edit" CommandArgument='%#Eval ("ID") %' runat="server"编辑/asp:LinkButton/tdtd
asp:LinkButton ID="del" CommandName ="del" CommandArgument='%#Eval ("ID") %' runat="server"删除/asp:LinkButton/td/tr/ItemTemplate
SeparatorTemplate trtd colspan="4"hr //td/tr/SeparatorTemplate
FooterTemplate /table/FooterTemplate
/asp:Repeater
后台直接调用:
如 int id = Convert.ToInt32(e.CommandArgument);
即利用linkbuttion的commandname或者commandargument属性动态某些字段,比如我们想要而又不想让用户看到的id,当前你也可以给它们赋值,作为服务器控件的区分,比如你使用多个linkbuttion,就可任意取它们的commandname来辨别是哪个命令源激发的事件
用GridView自带删除修改功能删除修改数据库怎么做,后台代码怎么写?
--前台页面:
--解释:
--DataKeyNames:字段名,一般绑定为 ID,用于后台获取ID
--OnRowCommand:GridView 定义行事件
--OnRowEditing:GridView 编辑事件
--OnRowUpdating:GridView 更新事件
--OnRowCancelingEdit:GridView 取消事件
asp:GridView ID="gvException" runat="server" CssClass="DataGrid_Container" AutoGenerateColumns="False" DataKeyNames="id,ExceptionNumber" OnRowCommand="gvException_RowCommand" OnRowEditing="gvException_RowEditing" OnRowUpdating="gvException_RowUpdating"
OnRowCancelingEdit="gvException_RowCancelingEdit"
Columns
asp:BoundField DataField="number" HeaderText="号码" SortExpression="ExceptionNumber" /
asp:CommandField HeaderText="修改" ItemStyle-Width="80" EditText="修改" ShowEditButton="True"
ItemStyle Width="80px"/ItemStyle
/asp:CommandField
asp:TemplateField ItemStyle-Width="80"
HeaderTemplate
删除/HeaderTemplate
ItemTemplate
asp:LinkButton ID="lbDelete" runat="server" ForeColor="Green" Text="删除" CommandName="DelNums"
CommandArgument="%# ((GridViewRow) Container).RowIndex %" OnClientClick="return confirm('确认要删除此行信息吗?')" /
/ItemTemplate
ItemStyle Width="80px"/ItemStyle
/asp:TemplateField
/Columns
/asp:GridView
--后台代码:
#region 删除操作
/// summary
/// 行事件
/// /summary
protected void gvException_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.ToLower() == "delnums") //执行当前点击删除事件
{
//当前点击删除行的行号
int row = Convert.ToInt32(e.CommandArgument.ToString());
//获取id
int id= gvException.DataKeys[row]["id"].ToString();
//执行SQL删除方法
if (执行失败)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "scriptjavascript:alert('删除失败!');/script", false);
return;//退出方法
}
else//执行成功
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "scriptjavascript:alert('删除成功!');/script", false);
//成功重新绑定数据
//gvExceptionBind();
}
}
}
#endregion 删除操作
#region 编辑操作
/// summary
/// 编辑
/// /summary
protected void gvException_RowEditing(object sender, GridViewEditEventArgs e)
{
//创建一个编辑控件
gvException.EditIndex = e.NewEditIndex;
//gvExceptionBind();//重新绑定数据
}
/// summary
/// 更新按钮事件
/// /summary
protected void gvException_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//获得 ID
int id = Convert.ToInt32(gvException.DataKeys[e.RowIndex]["id"].ToString());
//执行更新方法
if (更新失败)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "scriptjavascript:alert('更新失败!');/script", false);
return;//退出方法
}
else//更新成功
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "scriptjavascript:alert('更新成功!');/script", false);
//成功重新绑定数据
//gvExceptionBind();
}
}
/// summary
/// 取消事件
/// /summary
protected void gvException_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
//撤销编辑控件:为-1 是微软规定的
gvException.EditIndex = -1;
//gvExceptionBind();//重新绑定数据
}
#endregion
代码很多、希望你能看的懂,祝你好运^^
在GRIDVIEW的表头加了一个CHECKBOX,我现在想在JS中取到这个CHECKBOX的ID,请高手指点,谢谢。
不知道你加的CHECKBOX是不是模板列
aspx:
........
HeaderTemplate
asp:CheckBox ID="HeaderCheckBox" runat="server" /
/HeaderTemplate
........
input type='hidden' id='hCheckBoxID' value ='' runat='server'/
cs:
CheckBox cbHeader = GridView1.HeaderRow.FindControl("HeaderCheckBox") as CheckBox;
hCheckBoxID.Value = cbHeader.ClientID;//这里也可以用ClientScript的RegisterStartupScript直接输出js代码
js:
var CheckBoxID = document.getElementById('hCheckBoxID').value;
html的table中有一列状态,如果状态是未完成,就把整行的字体颜色设置为红色。这个怎么实现
这个需要用js脚步实现,你可以在加载数据时下判断状态是未完成的,如果是,则将tr style="backcolor:red;"...../tr