C# 如果选中标题复选框,则所有其他复选框';应在网格视图中选中
我使用了下面的代码,但它不起作用。如果我选中了header复选框,那么所有其他复选框都应该选中,如果选中了复选框,那么如何获取特定的行idC# 如果选中标题复选框,则所有其他复选框';应在网格视图中选中,c#,asp.net,gridview,checkbox,C#,Asp.net,Gridview,Checkbox,我使用了下面的代码,但它不起作用。如果我选中了header复选框,那么所有其他复选框都应该选中,如果选中了复选框,那么如何获取特定的行id protected void headerLevelCheckBox_CheckedChanged(object sender, EventArgs e) { CheckBox headerChkBox = ((CheckBox)gvApproach.HeaderRow.FindControl("headerLevelCheckBox"));
protected void headerLevelCheckBox_CheckedChanged(object sender, EventArgs e)
{
CheckBox headerChkBox = ((CheckBox)gvApproach.HeaderRow.FindControl("headerLevelCheckBox"));
if (headerChkBox.Checked == true)
{
foreach(GridViewRow gvRow in gvApproach.Rows)
{
CheckBox rowChkBox = ((CheckBox)gvRow.FindControl("rowLevelCheckBox"));
rowChkBox.Checked = true;//((CheckBox)sender).Checked;
}
}
else
{
foreach (GridViewRow gvRow in gvApproach.Rows)
{
CheckBox rowChkBox = ((CheckBox)gvRow.FindControl("rowLevelCheckBox"));
rowChkBox.Checked = false;
}
}
}
我用的是VS2008,c#
如果不使用javascript..我建议您不要在服务器上这样做,而是在客户机上这样做。使用javascript。该页面上是否有jQuery(使用该库会更容易)?也许本教程会有所帮助:我建议您不要在服务器上这样做,而是在客户机上这样做。使用javascript。该页面上是否有jQuery(使用该库会更容易)?也许本教程会有所帮助:更具体地说,您应该使用 headerChkBox onclick=“更改复选框(此)”
希望它能帮助你更具体地说,你应该使用 headerChkBox onclick=“更改复选框(此)”
希望它有助于aspx代码…并且为了获得网格视图中特定行的id,我使用labe控件作为PhotoId(PK)
aspx代码…为了获得网格视图中特定行的id,我使用labe控件作为PhotoId(PK)
如果您想使用javascript来实现 您应该使用复选框的工具提示属性来保存记录的ID。 例如:
<asp:CheckBox ID="rowLevelCheckBox" runat="server" ToolTip='<%#Eval("ID")%>' />
然后,当单击标题的复选框时,应该使用javascript代码
<script type="text/javascript">
function SelectAll(element) {
if ($(element).attr("checked")) {
$("input[type=checkbox]").attr("checked", "true");
}
else {
$("input[type=checkbox]").attr("checked", "");
}
}
</script>
<HeaderTemplate>
<div style="text-align: center; width: 100px; margin: auto">
<input type="checkbox" name="SelectAllCheckBox" onclick="SelectAll(this)">Select All</div>
</HeaderTemplate>
函数SelectAll(元素){
if($(元素).attr(“选中”)){
$(“input[type=checkbox]”)attr(“checked”、“true”);
}
否则{
$(“input[type=checkbox]”)attr(“checked”,”);
}
}
全选
最后,在代码隐藏中
如果要获取所选ID,可以使用此代码
public List<string> GetAllSelectedIds()
{
List<string> selectedIds= new List<string>();
for (int i = 0; i < grid.Rows.Count; i++)
{
GridViewRow row = grid.Rows[i];
if (((CheckBox)row.FindControl("rowLevelCheckBox")).Checked)
{
string rowLevelCheckBoxStr = ((CheckBox)row.FindControl("rowLevelCheckBox")).ToolTip;
selectedIds.Add(rowLevelCheckBoxStr);
}
}
return selectedIds;
}
public List GetAllSelectedIds()
{
List SELECTEDDS=新列表();
对于(int i=0;i
如果您想使用javascript
您应该使用复选框的工具提示属性来保存记录的ID。
例如:
<asp:CheckBox ID="rowLevelCheckBox" runat="server" ToolTip='<%#Eval("ID")%>' />
然后,当单击标题的复选框时,应该使用javascript代码
<script type="text/javascript">
function SelectAll(element) {
if ($(element).attr("checked")) {
$("input[type=checkbox]").attr("checked", "true");
}
else {
$("input[type=checkbox]").attr("checked", "");
}
}
</script>
<HeaderTemplate>
<div style="text-align: center; width: 100px; margin: auto">
<input type="checkbox" name="SelectAllCheckBox" onclick="SelectAll(this)">Select All</div>
</HeaderTemplate>
函数SelectAll(元素){
if($(元素).attr(“选中”)){
$(“input[type=checkbox]”)attr(“checked”、“true”);
}
否则{
$(“input[type=checkbox]”)attr(“checked”,”);
}
}
全选
最后,在代码隐藏中
如果要获取所选ID,可以使用此代码
public List<string> GetAllSelectedIds()
{
List<string> selectedIds= new List<string>();
for (int i = 0; i < grid.Rows.Count; i++)
{
GridViewRow row = grid.Rows[i];
if (((CheckBox)row.FindControl("rowLevelCheckBox")).Checked)
{
string rowLevelCheckBoxStr = ((CheckBox)row.FindControl("rowLevelCheckBox")).ToolTip;
selectedIds.Add(rowLevelCheckBoxStr);
}
}
return selectedIds;
}
public List GetAllSelectedIds()
{
List SELECTEDDS=新列表();
对于(int i=0;i 主题的
你不需要那个如果条件。我得到了答案。谢谢你对主题的回复。你不需要那个如果条件。我得到了答案。谢谢你的回复