137 lines
4.7 KiB
C#
137 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
|
|||
|
|
|
|||
|
|
}
|