0

こんにちは、誰か助けてください。レコードを更新すると、グリッドビューの編集コマンド ボタンが無効になるプログラムを作成したいと考えています。ドロップダウン リスト コントロールがあり、どのグリッド ビューにデータを表示するかを選択します。グリッドビューで行を更新した後、「引数の例外がユーザー コードによって処理され、Flag はテーブル DefaultView の DataColumn でも DataRelation でもありません」というようなエラーが発生します。

.csファイルで、gridview1_rowdataboundイベントに次のように記述しました

switch (e.Row.RowType)

{

            case DataControlRowType.DataRow:


                DataRowView myDataRowView = (DataRowView)e.Row.DataItem;
                if (Convert.ToInt32(myDataRowView["Flag"]) > 0)
                {
                    LinkButton EditLink = e.Row.FindControl("LinkEdit") as LinkButton;
                    if (EditLink != null)
                    {
                        EditLink.Visible = false;
                        //EditLink.Enabled = false;

                    }
                }

                break;
        }

フラグは、データベース内の私の列の値です。グリッドビューで行を更新した後、その値は変更になり、それらに依存して、グリッドビューの特定の行の編集リンクを無効にすることができます。しかし、私は上記のエラーを受け取ります。

4

1 に答える 1

0

Flag in your queryで列を見つけるには、列を含める必要がありますDataTable

あなたFlag columnSelectCommand

Select Flag .... From YourTable

注: GridView コントロールは、DataBase の Table を認識していませんが、DataSource に設定されている DataTable を認識しています。

于 2012-10-11T13:52:43.660 に答える