【问题标题】:Check first 5 rows of Gridview检查 Gridview 的前 5 行
【发布时间】:2018-02-16 22:41:24
【问题描述】:

我有一个 gridview 显示来自 sql 表的大量行。我在gridview 标题中也有checkbox chkboxSelectAll 来检查gridview 中的所有行。

chkboxSelectAlloncheckedchange 的代码:

protected void chkboxSelectAll_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox ChkBoxHeader = (CheckBox)Grid.HeaderRow.FindControl("chkboxSelectAll");
            foreach (GridViewRow row in Grid.Rows)
            {
                CheckBox ChkBoxRows = (CheckBox)row.FindControl("chkrow");
                if (ChkBoxHeader.Checked == true)
                {
                    ChkBoxRows.Checked = true;
                }
                if (ChkBoxHeader.Checked == false)
                {
                    ChkBoxRows.Checked = false;
                }
            }
        }

但是,我只想在检查标题复选框后检查前 5 行 gridview。

我搜索的所有答案都是针对数据表或数据集,但没有针对 gridview 本身。

有没有办法做到这一点。任何帮助将不胜感激..!!

【问题讨论】:

  • 你是一个整数。例如int i = 0; i++; if (i > 5)...
  • 如果我正确理解了您的问题,您可以选择所有代码并希望将其更改为仅 5 第一行。这是真的吗?
  • 是的@ConductedClever
  • @Jeremy 你能解释更多如何使用它。谢谢
  • 为什么要投反对票??

标签: c# asp.net gridview checkbox


【解决方案1】:

如果第二条评论的答案是正确的,那么这将是您的解决方案(例如):

    protected void chkboxSelectAll_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox ChkBoxHeader = (CheckBox)Grid.HeaderRow.FindControl("chkboxSelectAll");
        bool sign = ChkBoxHeader.Checked == true;
        int counter = 0;
        foreach (GridViewRow row in Grid.Rows)
        {
            CheckBox ChkBoxRows = (CheckBox)row.FindControl("chkrow");
            ChkBoxRows.Checked = sign;
            counter++;
            if (counter == 5)
            {
                break;
            }
        }
    }

【讨论】:

    【解决方案2】:

    您可以使用 LINQ 来做到这一点:

    foreach (GridViewRow row in Grid.Rows.Take(5))
    {
        CheckBox ChkBoxRows = (CheckBox)row.FindControl("chkrow");
        if (ChkBoxHeader.Checked == true)
        {
            ChkBoxRows.Checked = true;
        }
        if (ChkBoxHeader.Checked == false)
        {
            ChkBoxRows.Checked = false;
        }
    }
    

    【讨论】:

    • 感谢@senz,但我没有使用 LINQ
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多