1

私はこれについてたくさんのサイトを読みました。生成方法(デザインビューと入力)の説明がないコードを呼び出す場合、または単純なselectステートメントとupdateステートメントを使用する場合は、多くの「例」があります。

私はGridviewを持っています。ストアドプロシージャのコードを使用してデータを入力しています。次に、データを編集します。デザインビュー(データソース、列など)を介してGridviewのプロパティに何も設定していません。私の質問は、編集を許可し、SPを使用してデータベースに送り返すようにこれを設定するにはどうすればよいですか?

デザインビューでプロパティを設定しないことを選択したので、コードを使用して手動で列を作成する必要がありますか?

デザインビューでプロパティを設定し、そのルートに進む方が良いですか?私はそのように始めましたが、SPでの更新に関して問題がありました。

全体がデザイナーでやるのか、コードでやるのか混乱していると思います。

RowEdit、RowCommandなどをhtmlとc#に追加し始めましたが、実行してもWebページにEDIT/CANCELが表示されません。

4

2 に答える 2

0

ObjectDataSourceの使用方法を学びます。使用するデータを保存する方法を最大限に自由にできます。select、update、deleteを外部クラスに委任して、ado、linq、hibernate、Webサービスなどを使用するコードを記述します。

固定されたデータベース構造に対してビューを直接コーディングすると、遅かれ早かれあなたを傷つけるでしょう。

于 2013-03-20T21:45:55.167 に答える
0

StckDetailsという名前のようなテーブルを作成します ここに画像の説明を入力します

anme sp_StckDetails1ALTERプロシージャ[dbo]。[sp_StockDetails1](
@Action varchar(20)、@ Branch_ID int = null、@ Stock_Name varchar(50)= null、@ Stock_code varchar(20)= null、@ Qty int = null、@ Purchase_Price decimal(18,0)= null、@ Sales_Price decimal(18,0)= null、@ Order_ID int = null)as BEGIN SET NOCOUNT ON; @ Action ='Update'の場合、更新を開始しますStockDetails set Qty = @ Qty、Purchase_Price = @ Purchase_Price、Sales_price = @ Sales_Price where Order_ID = @ Order_ID end End

次に、c#code is Label lbl_id = GridView2.Rows [e.RowIndex] .FindControl( "Label2")asLabelを追加します。TextBox txt1_qty = GridView2.Rows [e.RowIndex] .FindControl( "TextBox7")as TextBox; TextBox txt2_PP = GridView2.Rows [e.RowIndex] .FindControl( "TextBox8")as TextBox; TextBox txt3_sp = GridView2.Rows [e.RowIndex] .FindControl( "TextBox9")as TextBox;

       SqlCommand cmd = new SqlCommand("sp_StockDetails1", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@Action", "Update");
        cmd.Parameters.AddWithValue("@Order_ID", SqlDbType.Int).Value = Convert.ToInt32(lbl_id.Text);
        cmd.Parameters.AddWithValue("@Qty", SqlDbType.Int).Value = Convert.ToInt32(txt1_qty.Text);
        cmd.Parameters.AddWithValue("@Purchase_Price", SqlDbType.Decimal).Value = Convert.ToDecimal(txt2_PP.Text);
        cmd.Parameters.AddWithValue("@Sales_Price", SqlDbType.Decimal).Value = Convert.ToDecimal(txt3_sp.Text);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();

        GridView2.EditIndex = -1;
        fillgrid2();

Gridviewのdesinコードはaspxコードです

'>'>'>'>'>'>'>'>'>'>........................................。........................................。........................................。

それを試してみてください

于 2016-04-22T05:49:21.780 に答える