private void CargarComboPuertoDestino() { SqlDataReader reader = PuertoFunc.ObtenerPuerto(); DataGridViewComboBoxColumn comboTipo = (DataGridViewComboBoxColumn)dgv_tramos.Columns["colPuertoDestino"]; if (reader.HasRows) { while (reader.Read()) { Puerto puerto = new Puerto(); puerto.id = Convert.ToInt32(reader.GetDecimal(0)); puerto.nombre = reader.GetString(1); //puerto.estado = reader.GetBoolean(2); ComboboxItem item = new ComboboxItem(); item.Text = puerto.nombre; item.Value = puerto; comboTipo.Items.Add(puerto.nombre); } int currentRow = dgv_tramos.Rows.Count - 1; DataGridViewComboBoxCell celltipo = (DataGridViewComboBoxCell)(dgv_tramos.Rows[currentRow].Cells[1]); celltipo.Value = comboTipo.Items[0]; } reader.Close(); }
private Tramo obtenerTramo(int row) { Tramo tramo = new Tramo(); tramo.id = Convert.ToInt32(dgv_tramos.Rows[row].Cells["colId"].Value); tramo.salida = Convert.ToString((dgv_tramos.Rows[row].Cells["colPuertoSalida"].Value)); tramo.salida_id = Convert.ToInt32(PuertoFunc.ObtenerPuerto(tramo.salida).Rows[0]["pue_id"]); //MessageBox.Show(String.Format("salida {0}, salida_id {1}", tramo.salida, tramo.salida_id.ToString())); tramo.destino = Convert.ToString((dgv_tramos.Rows[row].Cells["colPuertoDestino"].Value)); tramo.destino_id = Convert.ToInt32(PuertoFunc.ObtenerPuerto(tramo.destino).Rows[0]["pue_id"]); //MessageBox.Show(String.Format("destino {0}, destino_id {1}", tramo.destino, tramo.destino_id.ToString())); tramo.precio = Math.Round(Convert.ToDecimal(dgv_tramos.Rows[row].Cells["colPrecioBase"].Value), 2); return(tramo); }
private void CargarComboPuertoDestino() { SqlDataReader reader = PuertoFunc.ObtenerPuerto(); if (reader.HasRows) { while (reader.Read()) { Puerto puerto = new Puerto(); puerto.id = Convert.ToInt32(reader.GetDecimal(0)); puerto.nombre = reader.GetString(1); ComboboxItem item = new ComboboxItem(); item.Text = puerto.nombre; item.Value = puerto; cmb_puertoDestino.Items.Add(item); } reader.Close(); } }
public FormAmRecorrido(String IDRecorrido, FormRecorrido fr) { InitializeComponent(); this.IDRecorrido = IDRecorrido; dgv_tramos.EditingControlShowing += dgv_tramos_EditingControlShowing; dgv_tramos.CellValidating += dgv_tramos_CellValidating; dgv_tramos.CellEndEdit += dgv_tramos_CellEndEdit; dgv_tramos.AllowUserToAddRows = false; txt_id.ReadOnly = true; dgv_tramos.Columns["colId"].Visible = false; if (!String.IsNullOrEmpty(IDRecorrido)) { this.esModificar = true; //Modificar Recorrido recorrido = new Recorrido(); //Obtener recorrido SqlDataReader reader = RecorridoFunc.ObtenerRecorrido(IDRecorrido); recorrido = RecorridoFunc.ObtenerRecorridoDesdeUnReader(reader); //Llenar textos txt_id.Text = recorrido.rec_id.ToString(); //cmb_puertoDestino.SelectedIndex = cmb_puertoDestino.SelectedIndex.Equals(recorrido.rec_pue_desde); //cmb_puertoSalida.SelectedIndex = PuertoFunc.ObtenerNombre(recorrido.rec_pue_hasta); DataTable tramo = TramoFunc.ObtenerTramos(this.IDRecorrido); //Se carga combo Tipo Cabina de la fila dgv_tramos.Rows.Add(); CargarComboPuertoSalida(); CargarComboPuertoDestino(); this.cantTramos = tramo.Rows.Count; //Se agragan las filas necesarias for (Int32 j = 0; j < this.cantTramos; j++) { DataGridViewRow rowTram = (DataGridViewRow)dgv_tramos.Rows[0].Clone(); dgv_tramos.Rows.Add(rowTram); } Queue <Tramo> tramosList = new Queue <Tramo>(); //Se agregan los datos en las filas Tramo tramo_inicial = new Tramo(); int cont; for (cont = 0; true; cont++) { tramo_inicial.salida = tramo.Rows[cont]["tra_desde"].ToString().Trim(); tramo_inicial.salida_id = Convert.ToInt32(PuertoFunc.ObtenerPuerto(tramo_inicial.salida).Rows[0]["pue_id"]); if (tramo_inicial.salida_id == recorrido.rec_pue_id_desde) { tramo_inicial.id = Convert.ToInt32(tramo.Rows[cont]["tra_id"]); tramo_inicial.destino = tramo.Rows[cont]["tra_hasta"].ToString().Trim(); tramo_inicial.precio = Convert.ToDecimal(tramo.Rows[cont]["tra_precio_base"]); tramosList.Enqueue(tramo_inicial); break; } } for (int i = 0; i < this.cantTramos; i++) { if (i == cont) { continue; } Tramo nuevo_tram = new Tramo(); //dgv_tramos.Rows[i].Cells[0].Text = i.ToString(); nuevo_tram.id = Convert.ToInt32(tramo.Rows[i]["tra_id"]); nuevo_tram.salida = tramo.Rows[i]["tra_desde"].ToString().Trim(); nuevo_tram.destino = tramo.Rows[i]["tra_hasta"].ToString().Trim(); nuevo_tram.precio = Convert.ToDecimal(tramo.Rows[i]["tra_precio_base"]); tramosList.Enqueue(nuevo_tram); } //this.recorridoTramos = tramosList; Tramo primer_tramo = tramosList.Dequeue(); dgv_tramos.Rows[0].Cells["colId"].Value = primer_tramo.id.ToString(); dgv_tramos.Rows[0].Cells[0].Value = primer_tramo.salida.ToString().Trim(); dgv_tramos.Rows[0].Cells[1].Value = primer_tramo.destino.ToString().Trim(); dgv_tramos.Rows[0].Cells[2].Value = primer_tramo.precio.ToString(); for (int j = 1; j < this.cantTramos;) { Tramo nue_tramo = tramosList.Dequeue(); if (String.Equals(Convert.ToString(dgv_tramos.Rows[j - 1].Cells[1].Value), nue_tramo.salida)) { dgv_tramos.Rows[j].Cells["colId"].Value = nue_tramo.id.ToString(); dgv_tramos.Rows[j].Cells[0].Value = nue_tramo.salida.ToString().Trim(); dgv_tramos.Rows[j].Cells[1].Value = nue_tramo.destino.ToString().Trim(); dgv_tramos.Rows[j].Cells[2].Value = nue_tramo.precio.ToString(); j++; } else { tramosList.Enqueue(nue_tramo); } } for (int j = 0; j < this.cantTramos; j++) { Tramo nue_tramo = new Tramo(); nue_tramo.id = Convert.ToInt32(dgv_tramos.Rows[j].Cells["colId"].Value); this.recorridoTramos.Enqueue(nue_tramo); } this.recorridoModificado.rec_id = recorrido.rec_id; this.recorridoModificado.rec_pue_id_desde = recorrido.rec_pue_id_desde; this.recorridoModificado.rec_pue_id_hasta = recorrido.rec_pue_id_hasta; this.recorridoModificado.rec_estado = recorrido.rec_estado; //MessageBox.Show(String.Format("Cantidad de tramos {0}", recorridoTramos.Count.ToString())); //Dejar identificación como grisado DataTable pue_desde, pue_hasta; pue_desde = PuertoFunc.ObtenerPuerto((int)recorrido.rec_pue_id_desde); pue_hasta = PuertoFunc.ObtenerPuerto((int)recorrido.rec_pue_id_hasta); dgv_tramos.Rows.RemoveAt(this.cantTramos); numericTextBox1.Text = pue_desde.Rows[0]["pue_nombre"].ToString(); numericTextBox1.ReadOnly = true; numericTextBox2.Text = pue_hasta.Rows[0]["pue_nombre"].ToString(); numericTextBox2.ReadOnly = true; txt_id.ReadOnly = true; } else { this.esModificar = false; txt_id.Text = ""; txt_id.ReadOnly = false; numericTextBox1.ReadOnly = true; numericTextBox2.ReadOnly = true; dgv_tramos.Rows.Add(); //Cargar Puerto Desde CargarComboPuertoSalida(); //Cargar Puerto Hasta CargarComboPuertoDestino(); } }