Friday, October 24, 2008

C#, Existent DataGridView, Add Column



Una vez que tenemos las rutas visibles en el DockPanel, y todo funciona perfectamente. Vamos a sumar el campo de Grupo a las rutas.
Pasos para recordar y en un futuro agregado no quedar en el camino.


1. Agragar la columna en la base:

ALTER TABLE RUTAS
ADD GRUPO_NOMBRE VARCHAR(50)


2. Re-Generar el DataSource en el "RUTASDS.xsd"
.Ir al Solution Explorer > LocalDatasets.DataSources.RUTASDS DobleClick
.Seleccionar el Query GetDataByRutasVisibles() ClickDerecho Properties
.Salvar en un NotePad el CommandText
.SELECT "ID_RUTA", "RUTA_NOMBRE", "RUTA_VISIBLE", "RUTA_COLOR", "GRUPO_NOMBRE" FROM "RUTAS" WHERE RUTA_VISIBLE = 1
.Ir al Solution Explorer > LocalDatasets.Datasources.RUTASDS BORRAR
.Ir al Panel DataSources > ClickDerecho > Add New DataSource
.Crear por default el DataSouces RUTASDS con la tabla Rutas > Finish
.RUTASDS.xsd > RUTASTableAdapter ClickDerecho > Add Query > Use SQL statements >
Select which returns rows > Pegar el Query
SELECT "ID_RUTA", "RUTA_NOMBRE", "RUTA_VISIBLE", "RUTA_COLOR", "GRUPO_NOMBRE" FROM "RUTAS" WHERE RUTA_VISIBLE = 1


3. Re-Generar el DataSource de "Object DataSource del DataGridView"
.Build Solution
.Select DockRutas.cs > DataGridView Click > ir al panel DataSources
> Expandir LocalDatasets > RUTASDS > Remove Object
.LocalDatasets > ClickDerecho > Add New DataSource > Object
> LocalDatasets.LocalDatasets.RUTASDS > Next > Finish
.Build Solution


4. Re-Generar el DataGridView
.ClickDerecho en el DataGridVew > Delete
.DataSources.LocalDatasets.RUTASDS.RUTAS > Arrastrar y pegar en el DockPanel
.Seleccionar el DataGridView > Panel Propiedades > Propiedad DataSource > Cambiar (rUTASBindingSource1) a rUTASBindingSource
.Eliminar del Panel Bajo del DataGridView > rUTASBindingSource1 y rUTASDS


5. Verificar los enganches del Codigo fuente.
.Verificar que seguimos teniendo en DockRutas.cs:

public DockRutas(FormCliente parentForm)
: base(parentForm)
{
InitializeComponent();
this.rUTASBindingSource.DataSource = RutasProcess.GetInstance().Rds;
}

private void DockRutas_Load(object sender, EventArgs e)
{
RutasProcess.GetInstance();
}

. y en RutasProcess.cs

protected RutasProcess()
{
_rutasTA = new RUTASTableAdapter();
_rutasDS = new RUTASDS();
_ruta_puntosTA = new RUTA_PUNTOSTableAdapter();
_ruta_puntosDS = new RUTA_PUNTOSDS();
_rutasTA.Fill(_rutasDS.RUTAS);
_ruta_puntosTA.Fill(_ruta_puntosDS.RUTA_PUNTOS);

}


6. Re-Generar el CheckBox del campo RUTA_VISIBLE
.DataGridView > ClickDerecho > Edit Columns > Seleccionar RUTA_VISIBLE
> ColumnType DataGridViewCheckBoxColumn
.Data > TrueValue 1 > FalseValue 0 > OK.


7. Correr y Verificar.

No comments: