Asp.net GridView2_行编辑(对象发送方,GridViewEditEventArgs e) { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; gvEditIndex=e.NewEditIndex; GridView1.DataBind(); } 受保护的无效GridView2\u取消编辑(对象发送方,GridViewCancelEditEventArgs e) { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; gvEditIndex=-1; GridView1.DataBind(); } 受保护的无效GridView2_行更新(对象发送方,GridViewUpdateEventArgs e) { 尝试 { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; //获取存储在文本框中的值 字符串strOrderID=((标签)gvTemp.Rows[e.RowIndex].FindControl(“lblOrderID”)).Text; 字符串strFreight=((TextBox)gvTemp.Rows[e.RowIndex].FindControl(“txtfreement”).Text; 字符串strShipperName=((TextBox)gvTemp.Rows[e.RowIndex].FindControl(“txtShipperName”).Text; 字符串strShipAddress=((文本框)gvTemp.Rows[e.RowIndex].FindControl(“txtshipAddress”).Text; //准备数据源控件的更新命令 AccessDataSource dsTemp=新的AccessDataSource(); dsTemp.DataFile=“App_Data/Northwind.mdb”; 字符串strSQL=“”; strSQL=“更新订单集运费=“+float.Parse(strFreight)+”+ “,ShipName=”+strShipperName+“”+ ,ShipAddress='+strshipAddress+''+ “其中OrderID=“+strOrderID; dsTemp.UpdateCommand=strSQL; dsTemp.Update(); RegisterStartupScript(GetType(),“Message”,“alert('Order updated successfully');”; //重置编辑索引 gvEditIndex=-1; GridView1.DataBind(); } 捕获{} } 受保护的无效GridView2_行已更新(对象发送方,GridViewUpdatedEventArgs e) { //检查删除时是否存在异常 如果(例如异常!=null) { ClientScript.RegisterStartupScript(GetType(),“Message”,“alert”(“+e.Exception.Message.ToString().Replace(“,”)+“;”); e、 ExceptionHandled=true; } } 受保护的无效GridView2_行删除(对象发送方,GridViewDeleteEventArgs e) { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; //获取值 字符串strOrderID=((标签)gvTemp.Rows[e.RowIndex].FindControl(“lblOrderID”)).Text; //准备数据源控件的更新命令 字符串strSQL=“”; 尝试 { strSQL=“从订单中删除,其中OrderID=“+strOrderID; AccessDataSource dsTemp=新的AccessDataSource(); dsTemp.DataFile=“App_Data/Northwind.mdb”; dsTemp.DeleteCommand=strSQL; dsTemp.Delete(); RegisterStartupScript(GetType(),“消息”,“警报('Order deleted successfully');”; GridView1.DataBind(); } 捕获{} } 受保护的无效GridView2_行已删除(对象发送方,GridViewDeletedEventArgs e) { //检查删除时是否存在异常 如果(例如异常!=null) { ClientScript.RegisterStartupScript(GetType(),“Message”,“alert”(“+e.Exception.Message.ToString().Replace(“,”)+“;”); e、 ExceptionHandled=true; } } 受保护的void GridView2_RowDataBound(对象发送方,GridViewRowEventArgs e) { //检查这是否是正在进行数据绑定的空行,如果是,请使该行不可见 如果(e.Row.RowType==DataControlRowType.DataRow) { 如果(((DataRowView)e.Row.DataItem)[“OrderID”].ToString()==String.Empty)e.Row.Visible=false; } } 受保护的无效GridView2_排序(对象发送器,GridViewSortEventArgs e) { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; gvSortExpr=e.SortExpression; GridView1.DataBind(); } #端区 }
提前感谢您抽出时间。您可以参考此 这是使用对象数据源Asp.net GridView2_行编辑(对象发送方,GridViewEditEventArgs e) { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; gvEditIndex=e.NewEditIndex; GridView1.DataBind(); } 受保护的无效GridView2\u取消编辑(对象发送方,GridViewCancelEditEventArgs e) { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; gvEditIndex=-1; GridView1.DataBind(); } 受保护的无效GridView2_行更新(对象发送方,GridViewUpdateEventArgs e) { 尝试 { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; //获取存储在文本框中的值 字符串strOrderID=((标签)gvTemp.Rows[e.RowIndex].FindControl(“lblOrderID”)).Text; 字符串strFreight=((TextBox)gvTemp.Rows[e.RowIndex].FindControl(“txtfreement”).Text; 字符串strShipperName=((TextBox)gvTemp.Rows[e.RowIndex].FindControl(“txtShipperName”).Text; 字符串strShipAddress=((文本框)gvTemp.Rows[e.RowIndex].FindControl(“txtshipAddress”).Text; //准备数据源控件的更新命令 AccessDataSource dsTemp=新的AccessDataSource(); dsTemp.DataFile=“App_Data/Northwind.mdb”; 字符串strSQL=“”; strSQL=“更新订单集运费=“+float.Parse(strFreight)+”+ “,ShipName=”+strShipperName+“”+ ,ShipAddress='+strshipAddress+''+ “其中OrderID=“+strOrderID; dsTemp.UpdateCommand=strSQL; dsTemp.Update(); RegisterStartupScript(GetType(),“Message”,“alert('Order updated successfully');”; //重置编辑索引 gvEditIndex=-1; GridView1.DataBind(); } 捕获{} } 受保护的无效GridView2_行已更新(对象发送方,GridViewUpdatedEventArgs e) { //检查删除时是否存在异常 如果(例如异常!=null) { ClientScript.RegisterStartupScript(GetType(),“Message”,“alert”(“+e.Exception.Message.ToString().Replace(“,”)+“;”); e、 ExceptionHandled=true; } } 受保护的无效GridView2_行删除(对象发送方,GridViewDeleteEventArgs e) { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; //获取值 字符串strOrderID=((标签)gvTemp.Rows[e.RowIndex].FindControl(“lblOrderID”)).Text; //准备数据源控件的更新命令 字符串strSQL=“”; 尝试 { strSQL=“从订单中删除,其中OrderID=“+strOrderID; AccessDataSource dsTemp=新的AccessDataSource(); dsTemp.DataFile=“App_Data/Northwind.mdb”; dsTemp.DeleteCommand=strSQL; dsTemp.Delete(); RegisterStartupScript(GetType(),“消息”,“警报('Order deleted successfully');”; GridView1.DataBind(); } 捕获{} } 受保护的无效GridView2_行已删除(对象发送方,GridViewDeletedEventArgs e) { //检查删除时是否存在异常 如果(例如异常!=null) { ClientScript.RegisterStartupScript(GetType(),“Message”,“alert”(“+e.Exception.Message.ToString().Replace(“,”)+“;”); e、 ExceptionHandled=true; } } 受保护的void GridView2_RowDataBound(对象发送方,GridViewRowEventArgs e) { //检查这是否是正在进行数据绑定的空行,如果是,请使该行不可见 如果(e.Row.RowType==DataControlRowType.DataRow) { 如果(((DataRowView)e.Row.DataItem)[“OrderID”].ToString()==String.Empty)e.Row.Visible=false; } } 受保护的无效GridView2_排序(对象发送器,GridViewSortEventArgs e) { GridView gvTemp=(GridView)发送方; gvUniqueID=gvTemp.UniqueID; gvSortExpr=e.SortExpression; GridView1.DataBind(); } #端区 },asp.net,aspxgridview,Asp.net,Aspxgridview,提前感谢您抽出时间。您可以参考此 这是使用对象数据源 <asp:UpdatePanel runat="server" UpdateMode="Always" ID="ParentPanel"> <ContentTemplate> <asp:Label ID="lbltest" runat="server" /> <asp:GridView ID="grdOrders" DataKeyNames="OrderId"
<asp:UpdatePanel runat="server" UpdateMode="Always" ID="ParentPanel">
<ContentTemplate>
<asp:Label ID="lbltest" runat="server" />
<asp:GridView ID="grdOrders"
DataKeyNames="OrderId"
GridLines="None"
AutoGenerateColumns="false"
runat="server"
DataSourceID="objOrders"
CssClass="mGrid"
PagerStyle-CssClass="pgr"
AlternatingRowStyle-CssClass="alt"
AllowPaging ="true"
PageSize="10"
OnRowCommand="grdOrders_RowCommand"
OnRowDataBound ="grdOrders_RowDataBound" >
<Columns>
<asp:TemplateField ItemStyle-Width="9">
<ItemTemplate>
<asp:ImageButton ID="ImgBtn" ImageUrl="Include/images/gridplus.gif" CommandName="Expand"
runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="companyname" HeaderText="Company Name" SortExpression="companyname" />
<asp:BoundField DataField="employeename" HeaderText="Employee Name" SortExpression="employeename" />
<asp:BoundField DataField="orderdate" HeaderText="Order Name" SortExpression="orderdate" />
<asp:BoundField DataField="requireddate" HeaderText="Required Date" SortExpression="requireddate" />
<asp:BoundField DataField="shippeddate" HeaderText="Shipped Date" SortExpression="shippeddate" />
<asp:TemplateField>
<ItemTemplate>
<asp:PlaceHolder ID="objPHOrderDetails" runat="server" Visible="true">
<tr>
<td width="9">
</td>
<td colspan="6">
<asp:UpdatePanel runat="server" ID="ChildControl">
<ContentTemplate>
<asp:GridView ID="grdOrderDetails"
GridLines="None"
AutoGenerateColumns="false"
runat="server"
DataSourceID="objOrderDetails"
CssClass="mGrid"
AllowPaging ="true"
PageSize="2"
>
<EditRowStyle BackColor="#2461BF" />
<Columns>
<asp:BoundField DataField="PRODUCTNAME" HeaderText="Product Name" SortExpression="PRODUCTNAME" ReadOnly="true" />
<asp:BoundField DataField="QUANTITYPERUNIT" HeaderText="Quantity Per Unit" SortExpression="QUANTITYPERUNIT" ReadOnly="true" />
<asp:BoundField DataField="QUANTITY" HeaderText="Quantity" SortExpression="QUANTITY"/>
<asp:BoundField DataField="UNITPRICE" HeaderText="Unit Price" SortExpression="UNITPRICE" ReadOnly="true" />
<asp:BoundField DataField="DISCOUNT" HeaderText="Discount" SortExpression="DISCOUNT" ReadOnly="true" />
<asp:BoundField DataField="TotalAmount" HeaderText="TotalAmount" SortExpression="TotalAmount" ReadOnly="true" />
<asp:CommandField ShowEditButton="True" ButtonType="Image" EditImageUrl="Include/images/gridplus.gif" UpdateImageUrl="Include/images/gridplus.gif" CancelImageUrl="Include/images/gridminus.gif" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:ObjectDataSource ID="objOrderDetails"
runat="server"
SelectMethod="GetOrdersDetailsList"
UpdateMethod="UpdateOrdersDetails"
onupdated="grdOrderDetails_Updated"
EnablePaging="true"
TypeName="clsGeneralFunctions"
SelectCountMethod="GetOrdersDetailsCount">
<SelectParameters>
<asp:Parameter Direction="Input" Name="StartRowIndex" type="Int32" />
<asp:Parameter Direction="Input" Name="MaximumRows" type="Int32" />
<asp:Parameter Direction="Input" Name="OrderId" DefaultValue="0" type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Direction="Input" Name="OrderId" DefaultValue="0" type="Int32" />
<asp:Parameter Direction="Input" Name="Quantity" DefaultValue="0" type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
</asp:PlaceHolder>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:ObjectDataSource ID="objOrders"
runat="server"
SelectMethod="GetOrders"
EnablePaging="true"
TypeName="clsGeneralFunctions"
StartRowIndexParameterName="StartRowIndex"
MaximumRowsParameterName="MaximumRows"
SelectCountMethod="GetOrdersCount">
</asp:ObjectDataSource>
尝试使用可能有效的对象数据源。
<asp:UpdatePanel runat="server" UpdateMode="Always" ID="ParentPanel">
<ContentTemplate>
<asp:Label ID="lbltest" runat="server" />
<asp:GridView ID="grdOrders"
DataKeyNames="OrderId"
GridLines="None"
AutoGenerateColumns="false"
runat="server"
DataSourceID="objOrders"
CssClass="mGrid"
PagerStyle-CssClass="pgr"
AlternatingRowStyle-CssClass="alt"
AllowPaging ="true"
PageSize="10"
OnRowCommand="grdOrders_RowCommand"
OnRowDataBound ="grdOrders_RowDataBound" >
<Columns>
<asp:TemplateField ItemStyle-Width="9">
<ItemTemplate>
<asp:ImageButton ID="ImgBtn" ImageUrl="Include/images/gridplus.gif" CommandName="Expand"
runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="companyname" HeaderText="Company Name" SortExpression="companyname" />
<asp:BoundField DataField="employeename" HeaderText="Employee Name" SortExpression="employeename" />
<asp:BoundField DataField="orderdate" HeaderText="Order Name" SortExpression="orderdate" />
<asp:BoundField DataField="requireddate" HeaderText="Required Date" SortExpression="requireddate" />
<asp:BoundField DataField="shippeddate" HeaderText="Shipped Date" SortExpression="shippeddate" />
<asp:TemplateField>
<ItemTemplate>
<asp:PlaceHolder ID="objPHOrderDetails" runat="server" Visible="true">
<tr>
<td width="9">
</td>
<td colspan="6">
<asp:UpdatePanel runat="server" ID="ChildControl">
<ContentTemplate>
<asp:GridView ID="grdOrderDetails"
GridLines="None"
AutoGenerateColumns="false"
runat="server"
DataSourceID="objOrderDetails"
CssClass="mGrid"
AllowPaging ="true"
PageSize="2"
>
<EditRowStyle BackColor="#2461BF" />
<Columns>
<asp:BoundField DataField="PRODUCTNAME" HeaderText="Product Name" SortExpression="PRODUCTNAME" ReadOnly="true" />
<asp:BoundField DataField="QUANTITYPERUNIT" HeaderText="Quantity Per Unit" SortExpression="QUANTITYPERUNIT" ReadOnly="true" />
<asp:BoundField DataField="QUANTITY" HeaderText="Quantity" SortExpression="QUANTITY"/>
<asp:BoundField DataField="UNITPRICE" HeaderText="Unit Price" SortExpression="UNITPRICE" ReadOnly="true" />
<asp:BoundField DataField="DISCOUNT" HeaderText="Discount" SortExpression="DISCOUNT" ReadOnly="true" />
<asp:BoundField DataField="TotalAmount" HeaderText="TotalAmount" SortExpression="TotalAmount" ReadOnly="true" />
<asp:CommandField ShowEditButton="True" ButtonType="Image" EditImageUrl="Include/images/gridplus.gif" UpdateImageUrl="Include/images/gridplus.gif" CancelImageUrl="Include/images/gridminus.gif" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:ObjectDataSource ID="objOrderDetails"
runat="server"
SelectMethod="GetOrdersDetailsList"
UpdateMethod="UpdateOrdersDetails"
onupdated="grdOrderDetails_Updated"
EnablePaging="true"
TypeName="clsGeneralFunctions"
SelectCountMethod="GetOrdersDetailsCount">
<SelectParameters>
<asp:Parameter Direction="Input" Name="StartRowIndex" type="Int32" />
<asp:Parameter Direction="Input" Name="MaximumRows" type="Int32" />
<asp:Parameter Direction="Input" Name="OrderId" DefaultValue="0" type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Direction="Input" Name="OrderId" DefaultValue="0" type="Int32" />
<asp:Parameter Direction="Input" Name="Quantity" DefaultValue="0" type="Int32" />
</UpdateParameters>
</asp:ObjectDataSource>
</asp:PlaceHolder>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:ObjectDataSource ID="objOrders"
runat="server"
SelectMethod="GetOrders"
EnablePaging="true"
TypeName="clsGeneralFunctions"
StartRowIndexParameterName="StartRowIndex"
MaximumRowsParameterName="MaximumRows"
SelectCountMethod="GetOrdersCount">
</asp:ObjectDataSource>