136 lines
4.7 KiB
C#
136 lines
4.7 KiB
C#
/*===========================================================================================================================
|
||
* 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
|
||
|
||
}
|