viernes, 23 de enero de 2015

Agregar una Columna a un ASPxGridview (Devexpress)

Si allguna vez deseamos agregar una columna a un Grid de Devexpress en modo de ejecución se hace de la siguiente manera:

            GridViewDataTextColumn col = new GridViewDataTextColumn();
            col.Caption = "New";
            col.FieldName = "New";
            col.UnboundType = DevExpress.Data.UnboundColumnType.String;
            col.VisibleIndex = ASPxGridView1.VisibleColumns.Count;

            ASPxGridView1.Columns.Add(col);

jueves, 22 de enero de 2015

Agregar una columna a una DataSet

Ejemplo:

DataSet dsBom = new DataSet(); 
CreateDataSet cdsBom = new CreateDataSet();

DataColumn dcEqty = new DataColumn("Eqty");
dsBom.Tables[0].Columns.Add(dcEqty); 

dsBom.Tables[0].Rows[0]["Eqty"] = 1565;

Como crear la estructura de una DataTable

Agunas veces necesitamos crear un datatable que no necesariamente venga de una base de datos.
Esto se hace de la siguiente manera:

//Creamos el objeto DataTable
DataTable tabla = new DataTable();
//Creamos el objeto ColumnaDataColumn columna;
//Creamos el objeto RenglonDataRow renglon;
//Creamos las columnas necesarias y las agregamos a la tablacolumna = new DataColumn();columna.ColumnName = "Campo1";columna.DataType = System.Type.GetType("System.Int32");tabla.Columns.Add(columna);columna = new DataColumn();columna.ColumnName = "Campo2";columna.DataType = System.Type.GetType("System.String");tabla.Columns.Add(columna);


Con esto ya tenemos un DataTable de nombre tabla con dos campos: El campo "Campo1" de tipo Int32 y el "Campo2" de tipo String.
A continuacion les pongo las propiedades que pueden usar en el objeto Columna:

  • AllowDBNull
    • Acepta un valor booleano que especifica si acepta valore nulos.
  • AutoIncrement
    • Acepta un valor booleano qe especifica si el valor de la columna se incrementara automaticamente o no.
  • AutoIncrementSeed
    • El valor con el que comenzara una columna que se incrementa automaticamente.
  • AutoIncrementStep
    • El valor en que se incrementara una columna que se incrementa automaticamente.
  • ColumnName
    • Un string con el nombre de la columna.
  • DataType
    • Un valor de los especificados en el tipo SystemType que especifica el tipo de valor que aceptara la columna.
  • DefaultValue
    • El valor que la columna tomara por defecto en caso de que no se especifique alguno.
  • MaxLength
    • Especifica la longitud maxima de texto que aceptara un columna de tipo string.
  • Unique
    • Acepta un valor booleano para especificar si la columna debe mantener un valor unico en cada registro de la columna.

Agregar un campo con autoincremento a un DataGridView

Cuando necesitemos agregar una columna a nuestro DataGridView que solo nos enumere los renglones que despliega solo es necesario agregar el siguiente codigo al markup donde esta definido nuestro DataGridView:

<Columns>
<asp:TemplateField HeaderText="#">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
</Columns>

con esto se agregara una columna con el encabezado # y que contendra el numero de renglon de cada DataRow.

Agregar una columna autonumerica a un DataTable

Para agregar una columna autonumerica a un DataTable es necesario crear un objeto DataTable y un objeto Column que tenga la propiedad AutoIncrement en true y luego mezclarlo con el DataTable que deseamos como en el siguiente ejemplo:

DataTable myDt = new DataTable();
DataColumn dc = new DataColumn();
dc.ColumnName = "#";
dc.DataType = typeof(int);
dc.AutoIncrement = true;
dc.AutoIncrementSeed = 1;
dc.AutoIncrementStep = 1;

BoardCode bc = new BoardCode();
DataTable dt = bc.GetHoldersByBcID(int.Parse(this.TextBox1.Text));

myDt.Columns.Add(dc);

myDt.Merge(dt);

this.GridView1.DataSource = myDt;
this.GridView1.DataBind();



Asi, cuando la despleguemos en un DataGridView se mostrara en la primera columna con un contador de renglones.

miércoles, 17 de diciembre de 2014

Como obtener los valores seleccionados en ASPxGridview


Cuando tenemos un Gridview con la selección habilitada y necesitamos saber cuáles registros han sido seleccionados por el usuario, debemos obtener la lista de renglones seleccionados e iterar sobre ella para obtener los datos deseados tal y como se muestra en el siguiente ejemplo:

       this.ASPxMemo1.Text = String.Empty;
            List<object> fieldValues = ASPxGridView1.GetSelectedFieldValues(new string[] { "ProductId", "Name" });
            foreach (object[] item in fieldValues)
            {
                this.ASPxMemo1.Text += item[1].ToString() + "\n";
            }



En este caso obtenemos un lista de objetos con las cadenas (del campo locationid) de cada renglón seleccionado y solo iteramos con el foreach para obtener cada Nombre del Producto (Name).

ASPxGridview con una columna con el número del renglón

Cuando necesitemos agregar una columna a nuestro DataGridView que solo nos enumere los renglones que despliega, solo es necesario agregar el siguiente código al markup donde esta definido nuestro DataGridView:

<Columns>
<asp:TemplateField HeaderText="#">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
</Columns>

Con esto se agregará una columna con el encabezado # y que contendrá el numero de renglón de cada DataRow.

Mover mensajes seleccionados a un personal folder en Oulook 2016

Este es un ejemplo de como mover los mensajes seleccionados a un personal folder (pst) en Outlook 2016 usando VBA. Sub MoveInbox()     Mov...