誰でも私を助けることができますか?RowEditing の機能を動作させることができたので、RowUpdating を実行しようとしています。私のグリッドビューのセットアップは、次のとおりです
<asp:GridView ID="CountryGridView" runat="server" AutoGenerateColumns="false" CssClass="mGrid" OnRowEditing="CountryGridView_RowEditing" OnRowCancelingEdit="CountryGridView_RowCancelingEdit" >
<Columns>
<asp:BoundField ReadOnly="true" DataField="i_SK_Accom" HeaderText="i_SK_Accom" Visible="false" />
<asp:BoundField ReadOnly="true" DataField="Accom_Code" HeaderText="Accom Code" />
<asp:BoundField ReadOnly="true" DataField="Accom_Name" HeaderText="Accom Name" />
<asp:BoundField DataField="OP49_Required" HeaderText="OP49 Required?" />
<asp:BoundField DataField="Weekly" HeaderText="Weekly" />
<asp:BoundField DataField="Daily" HeaderText="Daily" />
<asp:CommandField ShowEditButton="true" ButtonType="Image" EditImageUrl="~/Images/Edit.gif" UpdateImageUrl="~/Images/save.png" CancelImageUrl="~/Images/cancel.png" ControlStyle-CssClass="ImageButton" />
</Columns>
</asp:GridView>
MS SQL のプリコンパイル済みストアド プロシージャのパラメータに更新される予定の列を RowUpdating が通過するようにしようとしています。通常の方法は以下のとおりですが、グリッドビューを機能させるのに苦労しています。
SqlCommand commEditConsultant = new SqlCommand("IFACE_JFA_ACCOM", conn.sbConn);
commEditConsultant.CommandType = CommandType.StoredProcedure;
try
{
commEditConsultant.Parameters.Add("@Statement", SqlDbType.VarChar).Value = "AccomUpdate";
commEditConsultant.Parameters.Add("@Page", SqlDbType.VarChar).Value = "OP49";
commEditConsultant.Parameters.Add("@PC_Username", SqlDbType.VarChar).Value = HttpContext.Current.User.Identity.Name.ToString();
commEditConsultant.Parameters.Add("@Season_Name", SqlDbType.VarChar).Value = Season.Text;
commEditConsultant.Parameters.Add("@i_SK_Accom", SqlDbType.VarChar).Value = Request["i_SK_Accom"].Trim().ToString();
commEditConsultant.Parameters.Add("@OP49_Required", SqlDbType.VarChar).Value = ddl_OP49Required.SelectedItem.Value;
commEditConsultant.Parameters.Add("@Weekly", SqlDbType.VarChar).Value = ddl_OP49Weekly.SelectedItem.Value;
commEditConsultant.Parameters.Add("@Daily", SqlDbType.VarChar).Value = ddl_OP49Daily.SelectedItem.Value;
}
上記で指定されたフィールドは、グリッドビューに必要なものと同じですが、グリッドビューのrRowEditing
値を変数/パラメーターに入れてSQLCommandに渡すのに苦労しています。
興味のある ID:
DataBinder - BindCountryGrid
DataReader - CountryGridSelectReader