-2

gridview でチェックボックスを使用できるようにするコードを書きましたが、問題なく動作しました。その後、チェックボックスを有効にしてすべてをチェックできるように、それを変更するように言われました。C#でどうやってそれを行うのですか。Google とこのサイトで確認しましたが、私の状況に役立つものは見つかりませんでした。

4

3 に答える 3

1

グリッドビューのすべての行をループし、チェックボックス列の値をtrueに設定します。

foreach(DataGridViewRow row in dgv.Rows)
{
    row.Cells[0].Value = true;
}

そんな感じ。

于 2012-12-28T09:38:44.100 に答える
1

OnSelectedIndexChanged イベントを使用する必要があります。

チェックボックスを追加します。

<asp:CheckBoxList ID="CheckBoxList1" runat="server"  AutoPostBack="true" 
    DataSourceID="SqlDataSource1" DataTextField="name" DataValueField="name"
    OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged"> 
</asp:CheckBoxList>

別のチェックボックスを有効にするには、以下のコード部分を使用できます。

 protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
 {
     //anotherCheckbox.Checked = true;
 }

以下のすべての項目をチェックするには、コード部分が役立ちます。

for(int i = 1; i < anotherCheckbox.Items.Count; i++)
{
     anotherCheckbox.SetItemChecked (i, true);
}

そして、このループを から呼び出す必要がありますSelectedIndexChanged

于 2012-12-28T09:05:42.963 に答える
1

これを試して

<asp:CheckBox id="chkBox" runat="server"
                AutoPostBack="True"
                Text="check all"
                OnCheckedChanged="Check_Clicked"/>

protected void Check_Clicked(object sender, EventArgs e)
{
        if (chkBox.Checked == true)
        {
          foreach (GridViewRow gvr in MyGridview.Rows)
          {
            //Programmatically access the CheckBox from the TemplateField
            CheckBox cb = (CheckBox)gvr.FindControl("RowLevelCheckBox");
            //Check it!
            cb.Checked = true;
          }
        }
}
于 2012-12-28T09:08:54.957 に答える