0

私は今、数時間苦労している非常に厄介な問題を抱えています。1つのページに複数のasp.netGridViewコントロールがあります。これらのグリッドの1つ(グリッドB)は、データが正しく更新されるように別のグリッド(グリッドa)に依存しています。

私が抱えている問題はこれです:

if(!IsPostback)でgridB.Databind()を実行すると、グリッドBの機能は機能しますが、グリッドAに新しく追加されたレコードでグリッドが更新されません。

ポストバックチェックを含まない他の場所でgridB.Databind()を実行すると、グリッドBのデータは、グリッドAに新しく追加されたレコードで正しく更新されますが、グリッドBの機能は機能しなくなります。

例:

            // Functionality for dropdownlist etc works correctly, but new data from gvA doesn't show in gvB
            if (grvSender.ID == "gvA")
            {
                if (!IsPostBack)
                    gvB.DataBind();
            }

            // Functionality for dropdownlist etc no longer works correctly, but new data from gvA shows correctly in gvB
            if (grvSender.ID == "gvA")
            {
                if (IsPostBack)
                    gvB.DataBind();
            }

私は人間に知られているすべての可能な場所でgvBのdatabindメソッドを呼び出しましたが、同じ問題が解決しません...問題Aを修正すると問題Bが発生し、問題Bを修正すると問題Aが発生します。

どんなアイデアでも素晴らしいでしょう。これはばかげてばかげたものであることがわかりますが、私はほぼ一日中コードをじっと見つめていました。

4

1 に答える 1

1

コードにはeventを使用する必要がPage_PreRenderあり、次のようにコードを記述することもできますelse

        if (grvSender.ID == "gvA")
        {
            if (!IsPostBack)
                gvB.DataBind();
        }

        else
        {
            if (IsPostBack)
                gvB.DataBind();
        }
于 2012-05-17T10:15:02.427 に答える