0

誰か助けてください、私は asp.net (C# コード) に 'Type' という名前の 2 つの列と 'Save' という名前の別の列を持つグリッドビューを持っています。データが「タイプ」列で量的である場合、同じ行の列「保存」の対応するセルはドロップダウンリストである必要があり、定性的である場合、列の対応するセル、つまり同じ行の「保存」はテキストボックスになります。

前もって感謝します

4

2 に答える 2

1

「保存」列にテンプレートフィールドを作成し、テキストボックスとドロップダウンの両方を配置します。次に、各行がデータバインドされているときに、関数を実行して、タイプ列にあるデータの種類を確認し、(その行に対して) 非表示にします。保存列の望ましくない要素:

コードは次のようになります。

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"
于 2013-10-26T08:17:32.263 に答える