<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="FOLIO" DataSourceID="SqlDataSource1" OnRowEditing="GridView1_RowEditing1" OnRowCancelingEdit="GridView1_RowCancelingEdit1" OnRowUpdating="GridView1_RowUpdating" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField>
<EditItemTemplate>
<asp:LinkButton ID="lbtnUpdate" runat="server" CommandName="Update" CausesValidation="true" Text="Actualizar"> </asp:LinkButton>
<asp:LinkButton ID="lbtnCancelar" runat="server" CommandName="Cancel" CausesValidation="false" Text="Cancelar"> </asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="lbtnEdit" runat="server" CommandName="Edit" CausesValidation="false" Text="Editar"> </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="FOLIO" SortExpression="FOLIO">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("FOLIO") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("FOLIO") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="NO_EMPL_CAPTURO" SortExpression="NO_EMPL_CAPTURO">
<EditItemTemplate>
<asp:TextBox ID="txtNoEmplCaptG" runat="server" Text='<%# Bind("NO_EMPL_CAPTURO") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("NO_EMPL_CAPTURO") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="FECHA_CAPTURO" SortExpression="FECHA_CAPTURO">
<EditItemTemplate>
<asp:TextBox ID="txtFechaCaptG" runat="server" Text='<%# Bind("FECHA_CAPTURO") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("FECHA_CAPTURO") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="DEPTO" SortExpression="DEPTO">
<EditItemTemplate>
<asp:TextBox ID="txtDeptoG" runat="server" Text='<%# Bind("DEPTO") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("DEPTO") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="NO_EMPL_JEFE" SortExpression="NO_EMPL_JEFE">
<EditItemTemplate>
<asp:TextBox ID="txtNoEmplJefeG" runat="server" Text='<%# Bind("NO_EMPL_JEFE") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("NO_EMPL_JEFE") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="FECHA_AUT_JEFE" SortExpression="FECHA_AUT_JEFE">
<EditItemTemplate>
<asp:TextBox ID="txtFechaAutJefeG" runat="server" Text='<%# Bind("FECHA_AUT_JEFE") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("FECHA_AUT_JEFE") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="NO_EMPL_SUB" SortExpression="NO_EMPL_SUB">
<EditItemTemplate>
<asp:TextBox ID="txtNoEmplSubG" runat="server" Text='<%# Bind("NO_EMPL_SUB") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%# Bind("NO_EMPL_SUB") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="FECHA_AUT_SUB" SortExpression="FECHA_AUT_SUB">
<EditItemTemplate>
<asp:TextBox ID="txtFechaAutSubG" runat="server" Text='<%# Bind("FECHA_AUT_SUB") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label8" runat="server" Text='<%# Bind("FECHA_AUT_SUB") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ESTADO" SortExpression="ESTADO">
<EditItemTemplate>
<asp:TextBox ID="txtEstadoG" runat="server" Text='<%# Bind("ESTADO") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label9" runat="server" Text='<%# Bind("ESTADO") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="NO_EMPL" SortExpression="NO_EMPL">
<EditItemTemplate>
<asp:TextBox ID="txtNoEmplG" runat="server" Text='<%# Bind("NO_EMPL") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label10" runat="server" Text='<%# Bind("NO_EMPL") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString5 %>" ProviderName="<%$ ConnectionStrings:ConnectionString5.ProviderName %>" SelectCommand="SELECT * FROM FOLIOS_HRS_EXTRA WHERE FOLIO=:FOLIO" UpdateCommand="UPDATE FOLIOS_HRS_EXTRA SET NO_EMPL_CAPTURO=:NO_EMPL_CAPTURO, FECHA_CAPTURO=:FECHA_CAPTURO, DEPTO=:DEPTO, NO_EMPL_JEFE=:NO_EMPL_JEFE, FECHA_AUT_JEFE=:FECHA_AUT_JEFE, NO_EMPL_SUB=:NO_EMPL_SUB, FECHA_AUT_SUB=:FECHA_AUT_SUB, ESTADO=:ESTADO, NO_EMPL=:NO_EMPL WHERE FOLIO=:FOLIO">
<SelectParameters>
<asp:ControlParameter ControlID="lblFolio" Name="FOLIO" PropertyName="Text" Type="Decimal" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name=":NO_EMPL_CAPTURO" />
<asp:Parameter Name=":FECHA_CAPTURO" Type="DateTime" />
<asp:Parameter Name=":DEPTO"/>
<asp:Parameter Name=":NO_EMPL_JEFE"/>
<asp:Parameter Name=":FECHA_AUT_JEFE" Type="DateTime" />
<asp:Parameter Name=":NO_EMPL_SUB" />
<asp:Parameter Name=":FECHA_AUT_SUB" Type="DateTime" />
<asp:Parameter Name=":ESTADO"/>
<asp:Parameter Name=":NO_EMPL" />
<asp:Parameter Name=":FOLIO" />
</UpdateParameters>
</asp:SqlDataSource>
我的OnRowEditing,OnRowCancelEditing和OnRowUpdating也有代码。
protected void GridView1_RowEditing1(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataBind();
}
protected void GridView1_RowCancelingEdit1(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
GridView1.DataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
using(OracleConnection conn= new OracleConnection("Data Source=RH; User Id=rechum; Password=madrec3v"))
{
conn.Open();
string sqlCom = "UPDATE FOLIOS_HRS_EXTRA SET NO_EMPL_CAPTURO=:NO_EMPL_CAPTURO, FECHA_CAPTURO=:FECHA_CAPTURO, DEPTO=:DEPTO, NO_EMPL_JEFE=:NO_EMPL_JEFE, FECHA_AUT_JEFE=:FECHA_AUT_JEFE, NO_EMPL_SUB=:NO_EMPL_SUB, FECHA_AUT_SUB=:FECHA_AUT_SUB, ESTADO=:ESTADO, NO_EMPL=:NO_EMPL WHERE FOLIO=:FOLIO";
OracleCommand cmd = new OracleCommand(sqlCom, conn);
cmd.Parameters.AddWithValue(":NO_EMPL_CAPTURO", (GridView1.Rows[e.RowIndex].FindControl("txtNoEmplCaptG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":FECHA_CAPTURO", (GridView1.Rows[e.RowIndex].FindControl("txtFechaCaptG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":DEPTO", (GridView1.Rows[e.RowIndex].FindControl("txtDeptoG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":NO_EMPL_JEFE", (GridView1.Rows[e.RowIndex].FindControl("txtNoEmplJefeG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":FECHA_AUT_JEFE", (GridView1.Rows[e.RowIndex].FindControl("txtFechaAutJefeG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":NO_EMPL_SUB", (GridView1.Rows[e.RowIndex].FindControl("txtNoEmplSubG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":FECHA_AUT_SUB", (GridView1.Rows[e.RowIndex].FindControl("txtFechaAutSubG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":ESTADO", (GridView1.Rows[e.RowIndex].FindControl("txtEstadoG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":NO_EMPL", (GridView1.Rows[e.RowIndex].FindControl("txtNoEmplG") as TextBox).Text.Trim());
cmd.Parameters.AddWithValue(":folio", Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString()));
cmd.ExecuteNonQuery();
GridView1.EditIndex = -1;
}
}
答案 0 :(得分:0)
您应该在调用DataBind()之前设置数据源
创建一个函数调用BindGridData(GridView grid)
,然后调用它。
设置grid.Datasource并在函数中调用grid.Databind()。