特定のドロップダウンリスト項目が選択されている場合にのみテキストボックスを編集可能にしたいグリッドビューがあります。RowDataBound で値を取得し、編集する必要があるかどうかを判断しますが、.Visible 属性が期待どおりに機能しません。私のサンプル データを使用すると、1 番目と 2 番目の行には列にテキスト ボックスがなく、3 番目にはテキスト ボックスがあり、4 番目には再びありません。どんな助けでも大歓迎です。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
Control ctrl = e.Row.FindControl("ddlPriceTypeCode");
if (ctrl != null)
{
DropDownList ddl = (DropDownList)ctrl;
if (ddl.SelectedValue == "UPRC-" || ddl.SelectedValue == "PLEV-0" || ddl.SelectedValue == "PLEV-1" || ddl.SelectedValue == "PLEV-2" || ddl.SelectedValue == "PLEV-3" || ddl.SelectedValue == "PLEV-4" || ddl.SelectedValue == "PLEV-5" || ddl.SelectedValue == "PLEV-6" || ddl.SelectedValue == "PLEV-7")
{
//GridView1.Columns[4].Visible = true;
}
else
{
//GridView1.Columns[4].Visible = false;
}
}
}