buenas tardes que tal, estoy intentando capturar el valor de una fila seleccionada de un GridView en aspx en c #,
lo primero que ise fue llenar el grid con x informacion
luego seleccionar la fila
luego realizar una comparacion
luego intente optener el valor de dos formas
forma 1
foreach (GridViewRow gvrow in gvDatosReporte.Rows)
{
capturar el valor del grid, la columna que tiene el id esta oculta, los otros dos campos si estan visible en el grid, pero quiero capturarlo por nombre de columna para evitar que en un futuro se cambien de posision y tener que cambiar la programacion
}
forma 2
a opcion le asigne la palabra actualizar cuando cree el data table para saber que ese registro se iba a actualizar
if (gvDatosReporte.SelectedDataKey["opcion"] == "actualizar")
{
//cree esta opcion para capturar el valor de la fila seleccionada, bien me optiene el valor de la fila seleccionada,
pero no con las modificaciones que le e echo a la fila, esos dos campos que estoy modificando son cajas de texto dentro del grid
Convert.ToInt32(gvDatosReporte.SelectedDataKey["id_capturado"])
Convert.ToInt32(gvDatosReporte.SelectedDataKey["numero1"])
}
mi grid esta echo asi
tengo que agregarle algo al grid antes de actualizar o poder capturar la informacion de grid, algo que acepte el texto o algo asi?
<asp:GridView ID="gvDatos" runat="server" AutoGenerateColumns="False"
CssClass="GridViewStyle" Font-Size="8pt" Width="852px" CellPadding="4"
ForeColor="#333333" GridLines="None"
DataKeyNames="id_capturado,numero1, numero2,comando">
<AlternatingRowStyle CssClass="AltRowStyle" BackColor="White" />
<Columns>
<asp:CommandField ButtonType="Image"
SelectImageUrl="~/App_Themes/General/Images/select.gif"
ShowCancelButton="False" ShowHeader="True" ShowSelectButton="True" />
<asp:BoundField DataField="id_capturado" HeaderText="Id Reporte"
Visible="False" />
<asp:TemplateField HeaderText="numero1">
<ItemTemplate>
<asp:TextBox ID="txtnumero1" runat="server" Font-Size="8pt"
onkeydown="return (event.keyCode!=13); " Text='<%# Bind("numero1")%>'
Width="472px" Height="16px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="numero2">
<ItemTemplate>
<asp:TextBox ID="txtnumero1" runat="server" Font-Size="8pt"
onkeydown="return (event.keyCode!=13); " Text='<%# Bind("numero2")%>'
Width="472px" Height="16px"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="opcion" HeaderText="comando" Visible="False" />
</Columns>
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" ForeColor="White" Font-Bold="True" />
<HeaderStyle CssClass="HeaderStyle" BackColor="#507CD1" Font-Bold="True"
ForeColor="White" />
<PagerSettings PageButtonCount="5" />
<PagerStyle CssClass="PagerStyle" BackColor="#2461BF" ForeColor="White"
HorizontalAlign="Center" />
<RowStyle CssClass="RowStyle" BackColor="#EFF3FB" />
<SelectedRowStyle CssClass="SelectedRowStyle" BackColor="#D1DDF1" Font-Bold="True"
ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>