gridview里边搞定了,就是在某一行数据上点一下鼠标,全行都选中了。通过RowDataBound里边的e.Row.Attributes.Add("onclick"....实现的。那么,repeater里边应该怎么实现呢?e.Item好像没有attributes这个功能啊。
解决方案 »
- SVN 如何注销用户?version 1.6.12和version 2.0.2 的两种版本的 SVN 客户端程序哦!
- 在asp.net2.0中怎样自动生成EXCEL模板文件然后在客端输出?
- radiobutton有没有什么onchange事件
- 一个网页采集的问题, 急,在线等~~
- 该如何传值给ASP文件呢?
- 在ASP.NET的类中能不能用Response?
- 办公信息系统很少用到的功能 ??????????????????
- 关于得到弹出窗口返回值问题 -----请各位赐教!
- 关于tabPanle隐藏的问题
- 不理解(分不多了只能给10分,半小时揭贴)
- ASP.NET 网站负载测试用什么做?
- 问些基础问题
参考:http://hi.baidu.com/handboy/blog/item/a02220ef890538e7cf1b3e64.html
{
HtmlInputCheckBox check = (HtmlInputCheckBox)this.Repeater1.Items[i].FindControl("chkSelect");
if( check != null )
{
check.Checked = true;
}
}或
function CheckAll(e,itemname){
var aa=document.getElementsByName(itemname);
if(aa==undefined) return;
for (var i=0; i<aa.length; i++)aa[i].checked = e.checked;
}
在HeaderTemplate中或者在Repeater之外直接添加全选的一个CheckBox: <input name="chkall" value="1" type="checkbox" onclick="CheckAll(this,'Item')"/>
不完全同意 复杂点的控件在使用上方便 但灵活性相对差
最关键的是 最终生成的html 不干净
所以我只使用repeater 和listview
function select_deselectAll(chkVal, idVal) {
var frm = document.forms[0]; // Loop through all elements
for (i=0; i<frm.length; i++) { // Look for our Header Template's Checkbox
if (idVal.indexOf ('CheckAll') != -1) { // Check if main checkbox is checked, then select or deselect datagrid checkboxes
if(chkVal == true)
{
frm.elements[i].checked = true;
}
else
{
frm.elements[i].checked = false;
}
if(frm.elements[i].name.indexOf('CancelAll')!=-1)
{
frm.elements[i].checked = false;
}
}
}
}
</script>
模板列:
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckThis" runat="server" />
</ItemTemplate>
<ItemStyle Width="50px" HorizontalAlign="Center" />
<HeaderTemplate>
<asp:CheckBox ID="CheckAll" OnClick="javascript: return select_deselectAll (this.checked, this.id);"
runat="server" />
</HeaderTemplate>
<HeaderStyle Width="50px" CssClass="gr1" HorizontalAlign="Center" />
</asp:TemplateField>
参考:http://hi.baidu.com/handboy/blog/item/a02220ef890538e7cf1b3e64.html