F
Fel Ruiz
Guest
Hola, buen día.
Me encuentro con el dilema de que no puedo acceder al texto que contiene una celda en especifica, ya que la necesito para hacer una comparación de datos.
Mi proyecto es en Visual Studio 2010, desarrollado en C# y ASP.Net.
Adjunto el código de mi GridView.
<asp:GridView ID="dgrDefinicionesTipoGarantia" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px"
CellPadding="3" GridLines="Vertical" Width="710px" TabIndex="102" ShowHeaderWhenEmpty="True"
OnRowCommand="grDefinicionesTipoGarantia_RowCommand
<AlternatingRowStyle BackColor="#DCDCDC" />
<Columns>
<asp:TemplateField HeaderText="Garantía" HeaderStyle-Font-Size="Smaller
<ItemTemplate>
<asp:LinkButton ID="lbnClave" runat="server" CausesValidation="false" CommandArgument=<%# Eval("ClaveGarantia") %>
CommandName="Select" Text=<%# Eval("Garantia") %>></asp:LinkButton>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:BoundField HeaderStyle-HorizontalAlign="Left" HeaderText="Consecutivo" DataField="Consecutivo
<HeaderStyle Font-Size="Smaller" />
</asp:BoundField>
<asp:BoundField HeaderStyle-HorizontalAlign="Left" HeaderText="Etiqueta" DataField="Etiqueta
<HeaderStyle Font-Size="Smaller" />
</asp:BoundField>
<asp:BoundField HeaderStyle-HorizontalAlign="Left" HeaderText="Estatus" DataField="Estatus
<HeaderStyle Font-Size="Smaller" />
</asp:BoundField>
</Columns>
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<HeaderStyle CssClass="DataGridFixedHeader" BackColor="#000084" Font-Bold="True"
ForeColor="White" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<RowStyle Height="20px" BackColor="#EEEEEE" ForeColor="Black" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#0000A9" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#000065" />
</asp:GridView>
Y mi codigo en c#.
//Valida que no exista orden repetido
string strClaveGarantia;
string strConsecutivoGarantia;
string strOrden;
strClaveGarantia = (string)Session["Clave"];
strConsecutivoGarantia = (string)Session["Consecutivo"];
strOrden = (string)Session["Orden"];
if (dgrDefinicionesTipoGarantia.Rows.Count > 0)
for (int i = 0; i < dgrDefinicionesTipoGarantia.Rows.Count; i++)
if (i != dgrDefinicionesTipoGarantia.SelectedIndex)
{
string strGarantia = dgrDefinicionesTipoGarantia.Rows.Cells[0].Text;
if ((txtOrden.Text == strOrden) && (strClaveGarantia == dgrDefinicionesTipoGarantia.Rows.Cells[0].Text) && (hfvConsecutivo.Value != dgrDefinicionesTipoGarantia.Rows.Cells[1].Text))
{
MostrarMensaje("El orden ingresado ya fue elegido por otro campo.");
txtOrden.Focus();
return;
}
}
if (ddlEstatus.SelectedValue == "S")
{
MostrarMensaje("Seleccione un estatus");
ddlEstatus.Focus();
return;
}
La parte en negritas y en C# es el código que me esta mandando valores vacíos. mientras que en el resto del código funciona correctamente.
Continue reading...
Me encuentro con el dilema de que no puedo acceder al texto que contiene una celda en especifica, ya que la necesito para hacer una comparación de datos.
Mi proyecto es en Visual Studio 2010, desarrollado en C# y ASP.Net.
Adjunto el código de mi GridView.
<asp:GridView ID="dgrDefinicionesTipoGarantia" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px"
CellPadding="3" GridLines="Vertical" Width="710px" TabIndex="102" ShowHeaderWhenEmpty="True"
OnRowCommand="grDefinicionesTipoGarantia_RowCommand
<AlternatingRowStyle BackColor="#DCDCDC" />
<Columns>
<asp:TemplateField HeaderText="Garantía" HeaderStyle-Font-Size="Smaller
<ItemTemplate>
<asp:LinkButton ID="lbnClave" runat="server" CausesValidation="false" CommandArgument=<%# Eval("ClaveGarantia") %>
CommandName="Select" Text=<%# Eval("Garantia") %>></asp:LinkButton>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:BoundField HeaderStyle-HorizontalAlign="Left" HeaderText="Consecutivo" DataField="Consecutivo
<HeaderStyle Font-Size="Smaller" />
</asp:BoundField>
<asp:BoundField HeaderStyle-HorizontalAlign="Left" HeaderText="Etiqueta" DataField="Etiqueta
<HeaderStyle Font-Size="Smaller" />
</asp:BoundField>
<asp:BoundField HeaderStyle-HorizontalAlign="Left" HeaderText="Estatus" DataField="Estatus
<HeaderStyle Font-Size="Smaller" />
</asp:BoundField>
</Columns>
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<HeaderStyle CssClass="DataGridFixedHeader" BackColor="#000084" Font-Bold="True"
ForeColor="White" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<RowStyle Height="20px" BackColor="#EEEEEE" ForeColor="Black" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#0000A9" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#000065" />
</asp:GridView>
Y mi codigo en c#.
//Valida que no exista orden repetido
string strClaveGarantia;
string strConsecutivoGarantia;
string strOrden;
strClaveGarantia = (string)Session["Clave"];
strConsecutivoGarantia = (string)Session["Consecutivo"];
strOrden = (string)Session["Orden"];
if (dgrDefinicionesTipoGarantia.Rows.Count > 0)
for (int i = 0; i < dgrDefinicionesTipoGarantia.Rows.Count; i++)
if (i != dgrDefinicionesTipoGarantia.SelectedIndex)
{
string strGarantia = dgrDefinicionesTipoGarantia.Rows.Cells[0].Text;
if ((txtOrden.Text == strOrden) && (strClaveGarantia == dgrDefinicionesTipoGarantia.Rows.Cells[0].Text) && (hfvConsecutivo.Value != dgrDefinicionesTipoGarantia.Rows.Cells[1].Text))
{
MostrarMensaje("El orden ingresado ya fue elegido por otro campo.");
txtOrden.Focus();
return;
}
}
if (ddlEstatus.SelectedValue == "S")
{
MostrarMensaje("Seleccione un estatus");
ddlEstatus.Focus();
return;
}
La parte en negritas y en C# es el código que me esta mandando valores vacíos. mientras que en el resto del código funciona correctamente.
Continue reading...