GridView가 있고 ObjectDataSource의 사용자 정의 메서드를 사용하여 행을 편집/업데이트하고 싶습니다. 자동 생성 된 열을 사용하지만 BoundFields는 필요하지 않습니다. GridView1.DataBind() RowUpdated, RowUpdating 및 RowEditing 이벤트 일을 시도했다. 오류 메시지가 표시되지 않습니다. 행을 업데이트하지 않습니다.ObjectDataSource를 사용하는 GridView BoundField
IncidentUpdate.aspx
<asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource2" AutoGenerateColumns="false">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:BoundField DataField="IncidentID" HeaderText="ID" ReadOnly="True" />
<asp:BoundField DataField="ProductCode" HeaderText="Product Code" ReadOnly="True" />
<asp:BoundField DataField="DateOpened" HeaderText="Date Opened" ReadOnly="True" />
<asp:BoundField DataField="DateClosed" HeaderText="Date Closed" />
<asp:BoundField DataField="Title" HeaderText="Title" ReadOnly="True" />
<asp:BoundField DataField="Description" HeaderText="Description" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetCustomerIncidents" TypeName="IncidentDB" UpdateMethod="UpdateIncident">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="customerID" PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="incidentID" Type="Int32" />
<asp:Parameter Name="dateClosed" Type="DateTime" />
<asp:Parameter Name="description" Type="String" />
</UpdateParameters>
</asp:ObjectDataSource>
을 App_Code \ Service.cs
public static DataSet UpdateIncident(int incidentID, DateTime dateClosed,string description)
{
TechSupportDB techSupportDB = new TechSupportDB();
var myConnection = techSupportDB.GetConnectionString();
SqlCommand myCommand = new SqlCommand();
myCommand.Parameters.AddWithValue("@IncidentID", incidentID);
myCommand.Parameters.AddWithValue("@DateClosed", dateClosed);
myCommand.Parameters.AddWithValue("@Description", description);
myCommand.CommandText =
"update Incidents set DateClosed = @DateClosed, Description = @Description where IncidentID = @IncidentID";
myCommand.Connection = myConnection;
SqlDataAdapter myAdapter = new SqlDataAdapter(myCommand);
DataSet updatedIncidentsDataSet = new DataSet();
myAdapter.Fill(updatedIncidentsDataSet);
return updatedIncidentsDataSet;
}
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –