<script language="javascript"> function submitSelectAll(){ document.all('Button12').click(); return false; } Private Sub selectAll() Dim i As Integer For i = 0 To DataGrid1.Items.Count - 1 CType(DataGrid1.Items(i).Cells(0).FindControl("CheckBox1"), CheckBox).Checked = True Next End Sub Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound Dim item As DataGridItem If (e.Item.ItemType = ListItemType.Header) Then CType(e.Item.FindControl("Button3"), Button).Attributes.Add("onclick", "javascript:return submitSelectAll();") End If
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click Call selectAll() End Sub
http://dotnet.aspx.cc/Exam/DataGridCheckBox/DataGridCheckBox.aspx
{
CheckBox cb = (CheckBox)_item.FindControl("chkbox");
cb.Checked = true ;
}
{
foreach( DataGridItem _item in dgList.Items )
{
CheckBox cb = (CheckBox)_item.FindControl("chkbox");
cb.Checked = true ;
}
}
<asp:TemplateColumn HeaderText="Disable">
<HeaderStyle CssClass="GridHeaderSmall"></HeaderStyle>
<HeaderTemplate>
<asp:Label ID="lblh11" Runat =server Text="Disable" ForeColor ="red"></asp:Label>
<asp:CheckBox ID="chkAll" Runat =server OnCheckedChanged ="CheckAll(this);"></asp:CheckBox>
</HeaderTemplate>
<ItemStyle CssClass="GridItemSmall"></ItemStyle>
<ItemTemplate><asp:CheckBox ID=chkDisabled Runat =server Checked='<%# GetStatus(DataBinder.Eval(Container.DataItem,"Status","{0}"))%>'></asp:CheckBox></ItemTemplate>
</asp:TemplateColumn>
当我选中checkall 的时候,要选中所有的checkbox.能不能给出一点代码?
yourCheckBox.Attributes.Add("onclick",return selectAll(this)");function selectAll(varcb)
{
var dt = document.all.<%= yourGrid.ClientID %>
for(var i = 1;i<dt.rows.length;i++)
{
dt.rows(i).cells(j).childNodes(0).checked = varcb.checked;
}
return false;
}
{
CheckBox cb = (CheckBox)e.Item.FindControl("chkAll");
cb.Attributes.Add("onclick",return selectAll(this)");
}
我的那个选中所有的checkbox在<headertemplete>里,没法给它加attribute啊
if(e.Item.ItemType == ListItemType.Header)
{
CheckBox cb = (CheckBox)e.Item.FindControl("chkAll");
cb.Attributes.Add("onclick",return selectAll(this)");
}你试试,我从来没有用过Header里面的控件:)
应该是可以的吧
你的方法可以选中模板列所有的checkbox,但要取消的时候就不行了,而且表头的checkbox不管你选中没选中都是没有选中的样子.
checkbox居然不能return false;
晕
if(e.Item.ItemType == ListItemType.Header)
{
CheckBox cb = (CheckBox)e.Item.FindControl("chkAll");
cb.Attributes.Add("onclick","selectAll(this)");
}function selectAll(varcb)
{
var dt = document.all.<%= yourGrid.ClientID %>
for(var i = 1;i<dt.rows.length;i++)
{
dt.rows(i).cells(j).childNodes(0).checked = varcb.checked;
}
}这样就好了
function submitSelectAll(){
document.all('Button12').click();
return false;
}
Private Sub selectAll()
Dim i As Integer For i = 0 To DataGrid1.Items.Count - 1
CType(DataGrid1.Items(i).Cells(0).FindControl("CheckBox1"), CheckBox).Checked = True
Next
End Sub
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
Dim item As DataGridItem If (e.Item.ItemType = ListItemType.Header) Then
CType(e.Item.FindControl("Button3"), Button).Attributes.Add("onclick", "javascript:return submitSelectAll();")
End If
Call selectAll()
End Sub