TFS_ANTIGUO/SIGPC/ProyectoSIGPC/App_Code/GridViewBoundField.cs
kledezma 7fdadc4709 KLB
git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C519
2021-01-22 15:05:35 +00:00

136 lines
4.7 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*===========================================================================================================================
* Instituto Costarricense de Acueductos y Alcantarillados. - 2015
* Administración de la Seguridad
* Clase: GridBoundField.cs
*
* Explicación de los contenidos del archivo
*===========================================================================================================================
* HISTORIAL
*
* PERSONA DIA MES - AÑO DESCRIPCIÓN
* Esteban Gutierrez Rapso 20 04 - 2015 Se inicia con el diseño de la clase
* …………………………………………………………
* …………………………………………………………
*===========================================================================================================================
* Derechos Reservados (C) 2015 AyA.
* ESTE CÓDIGO ES PROVEÍDO “TAL CUAL ES” SIN GARANTÍA ALGUNA
* DE NINGÚN TIPO, SEA IMPLICITA O EXPLICITA.
* NO SE PERMITE SU REPRODUCCIÓN PARCIAL O TOTAL, NI SU COMERCIALIZACIÓN
*===========================================================================================================================
*/
using System.Web.UI.WebControls;
/// <summary>
/// Summary description for GridViewBoundField
/// </summary>
public class GridViewBoundField : BoundField
{
#region Variables
private string valorTrue; // para manejo de datos booleanos
private string valorFalse; // para manejo de datos booleanos
public string ValorTrue
{
get { return valorTrue ?? true.ToString(); }
set { valorTrue = value; }
}
public string ValorFalse
{
get { return valorFalse ?? false.ToString(); }
set { valorFalse = value; }
}
public string AliasField
{
get;
set;
}
public bool IsDate
{
get;
set;
}
public bool IsSearch
{
get;
set;
}
#endregion
#region Constructores
/// <summary>
/// Guarda los valores del campo del grid
/// </summary>
/// <param name="p_DataField">Campo de la base de datos</param>
/// <param name="p_HeaderText">Valor de la columna</param>
/// <param name="p_esBusqueda">Si es valor de busqueda</param>
/// <param name="p_esFecha">Si es fecha</param>
/// <param name="p_esVisible">Si el campo se visualiza o no en pantalla</param>
public GridViewBoundField(string p_DataField, string p_HeaderText, bool p_esBusqueda, bool p_esFecha, bool p_esVisible)
{
this.DataField = p_DataField;
this.SortExpression = p_DataField;
this.HeaderText = p_HeaderText;
this.IsSearch = p_esBusqueda;
this.IsDate = p_esFecha;
if (p_esFecha)
{
this.DataFormatString = "{0:dd/MM/yyyy}";
}
setVisible(p_esVisible);
}
/// <summary>
/// Guarda los valores del campo del grid
/// </summary>
/// <param name="p_DataField">Campo de la base de datos</param>
/// <param name="p_HeaderText">Valor de la columna</param>
/// <param name="p_esBusqueda">Si es valor de busqueda</param>
/// <param name="p_strTrueValue">Si es true, que texto desea que aparezca</param>
/// <param name="p_strFalseValue">Si es false, que texto desea que aparezca</param>
/// <param name="p_esVisible">Si el campo se visualiza o no en pantalla</param>
public GridViewBoundField(string p_DataField, string p_HeaderText, bool p_esBusqueda, string p_strTrueValue, string p_strFalseValue, bool p_esVisible)
{
this.DataField = p_DataField;
this.SortExpression = p_DataField;
this.HeaderText = p_HeaderText;
this.IsSearch = p_esBusqueda;
this.IsDate = false;
this.ValorTrue = p_strTrueValue;
this.ValorFalse = p_strFalseValue;
setVisible(p_esVisible);
}
// para manejo de datos booleanos
protected override string FormatDataValue(object dataValue, bool encode)
{
//Si el tipo de datos no es boolean se comporta como un BoundField normal
if (dataValue is bool)
return ((bool)dataValue) ? ValorTrue : ValorFalse;
else
return base.FormatDataValue(dataValue, encode);
}
#endregion
#region Metodos Personalizados
private void setVisible(bool esVisible)
{
if (!esVisible)
{
HeaderStyle.CssClass = "escondeColumnas";
ItemStyle.CssClass = "escondeColumnas";
FooterStyle.CssClass = "escondeColumnas";
}
}
#endregion
}