誰か助けてください、私は asp.net (C# コード) に 'Type' という名前の 2 つの列と 'Save' という名前の別の列を持つグリッドビューを持っています。データが「タイプ」列で量的である場合、同じ行の列「保存」の対応するセルはドロップダウンリストである必要があり、定性的である場合、列の対応するセル、つまり同じ行の「保存」はテキストボックスになります。
前もって感謝します
「保存」列にテンプレートフィールドを作成し、テキストボックスとドロップダウンの両方を配置します。次に、各行がデータバインドされているときに、関数を実行して、タイプ列にあるデータの種類を確認し、(その行に対して) 非表示にします。保存列の望ましくない要素:
コードは次のようになります。
protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
bool isQuantitative = ((CheckBox)e.Row.FindControl("cb1")).Checked;
if (isQuantitative)
{
((textBox)e.Row.FindControl("myTextboxID")).Visible = true;
((DropDownList)e.Row.FindControl("myDdlistID")).Visible = false;
}
else
{
((textBox)e.Row.FindControl("myTextboxID")).Visible = false;
((DropDownList)e.Row.FindControl("myDdlistID")).Visible = true;
}
}
}
上記の例で定量/定性データをチェックするために使用されているコントロールはチェックボックスです。これをコントロールまたはロジックに置き換えます。
次に、gridview をこのメソッドにリンクするには、このプロパティを gridview 宣言に追加します。
OnRowDataBound="myGridView_RowDataBound"