0

このコードを に配置しましたgridview_SelectedIndexChangedが、チェックボックスはまだチェックされません。グリッドビューで選択した行の1つに文字Oがある場合、チェックボックスが自動的にチェックされるようにコードを変更するにはどうすればよいですか?

protected void gvAuto_SelectedIndexChanged(object sender, EventArgs e)
{
    txtSurname.Text = gvAuto.SelectedRow.Cells[0].Text;
    txtFN.Text = gvAuto.SelectedRow.Cells[1].Text;
    txtOrg.Text = gvAuto.SelectedRow.Cells[2].Text;
    txtAdd.Text = gvAuto.SelectedRow.Cells[3].Text.Replace(" ", "");
    txtPosition.Text= gvAuto.SelectedRow.Cells[4].Text.Replace(" ", "");
    txtTelNum1.Text = gvAuto.SelectedRow.Cells[5].Text.Replace(" ", "");
    txtTelNum2.Text = gvAuto.SelectedRow.Cells[6].Text.Replace(" ", "");
    txtTelNum3.Text = gvAuto.SelectedRow.Cells[7].Text.Replace(" ", "");
    txtMobileNum.Text = gvAuto.SelectedRow.Cells[8].Text.Replace(" ", "");
    txtEmail1.Text = gvAuto.SelectedRow.Cells[9].Text.Replace(" ", ""); ;
    txtEmail2.Text = gvAuto.SelectedRow.Cells[10].Text.Replace(" ", "");
    txtEmail3.Text = gvAuto.SelectedRow.Cells[11].Text.Replace(" ", "");

    if (gvAuto.SelectedRow.Cells[12].Text.Replace(" ", "") == "")
    {
        cbCategory1.Checked = false;
    }
    else
    {
        cbCategory1.Checked = true;
    }

    txtValidate2.Text = gvAuto.SelectedRow.Cells[13].Text.Replace(" ", "");
}
4

1 に答える 1

0

値をテストしたい場合は、Oこれを次のように短縮できます。

//...
cbCategory1.Checked = (gvAuto.SelectedRow.Cells[12].Text == "O");
//...

cbCategory1あなたの質問から、あなたの子コントロールがGridView別の解決策を必要とするかどうかは少し不明です。

デバッグしてイベント ハンドラーにステップ インし、セル値が正しく読み取られているかどうかを確認してください。

于 2012-05-09T06:41:12.600 に答える