jueves, 30 de octubre de 2014

Select a un Datatable

SELECT A UN DATATABLE


Se puede realizar un select a un DataTable de las siguientes maneras:

  1. Cargando los resultados en un DataRow
         string expression;
        expression = "ItemId='" + ItemId + "'";
        DataRow[] foundRows;
        foundRows = TableCostCenter.Select(expression);
        for (int i = 0; i < c.Length; i++)
        {
            //Se puede cargar en otro DataTable     
            TableItemCostCenter.Rows.Add(foundRows[i]);
            //Imprimimos los datos
            //Console.WriteLine(foundRows[i][0]);
        }
  1. Realizando un select directo
      soInventTable.List(companyId).Select(expression)[0]["TaxValue"].ToString();



Se excedió la longitud de solicitud máxima

SE EXCEDIÓ LA LONGITUD DE SOLICITUD MÁXIMA GRIDVIEW

Es común que al trabajar con grandes cantidades de datos que se cargan en una página se muestra el siguiente error: "HttpException (0x80004005): Se excedió la longitud de solicitud máxima".

Esto quiere decir que la cantidad de datos es demasiado grande.

Para resolver este problema solo es necesario añadir estas líneas en nuestro web.config:

<configuration>
    <system.web>
      <httpRuntime maxRequestLength="Tamaño en kilobytes" />
    </system.web>
  </configuration>

Por defecto el tamaño de subida de dattos es de 4Mb, no se debe colocar valores exagerados en el atributo maxRequestLength por temas de seguridad.


Validar números o letras en c#

VALIDAR SOLO NÚMEROS-LETRAS EN TEXTBOX EN GRIDVIEW (ITEMTAMPLATE)


  1.  Creamos un Archivo JScript.js y colocamos el siguiente código:
function validanumero(e) {
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla == 8) return true;
    patron = /\d/;
    return patron.test(String.fromCharCode(tecla));
}
function validaletra(e) {
    tecla = (document.all) ? e.keyCode : e.which;
    if (tecla == 8) return true;
    patron = /[A-Za-z\s]/;
    te = String.fromCharCode(tecla);
    return patron.test(te);
}

2.       Hacemos la llamada al Archivo js.
<script src="../../JavaScript/ValidateNumberLetters.js" type="text/javascript"></script>

3.       Instanciamos al control en el Page_PreRender de la página y llamamos a la función que validará:
protected void Page_PreRender(object sender, EventArgs e)
    {
        TextBox txtQuantity;

        foreach (GridViewRow gr in gridItems.Rows)
        {
            if (gr.RowType == DataControlRowType.DataRow)
            {
                txtQuantity = (TextBox)gr.FindControl("txtQuantity");
                //Solo permitir números 
                txtQuantity.Attributes.Add("onKeypress", "javascript:return validanumero(event);");
 //Solo permitir letras         
                //txtQuantity.Attributes.Add("onKeypress", " javascript:return validaletra(event);");

            }
        }
    }