Principales respuestas
ELIMINAR ITEM SELECCIONADO DE UN COMBOBOX EN C#

Pregunta
-
Hola, buenos dias, tengo un combobox compuesto por numeros de tarjetas que lo lleno por medio de una consulta sql en un datatable, al seleccionar un item del combo deseo que ese item se me cargue en un textbox e inmediatamente se elimine ese item del combobox.
Cualquier ayuda que me puedan brindar estare muy agradecido.
Respuestas
-
hola
si el item pertenece a un datatable es de este que debes quitarlo
DataTable dt = DataGridView1.DataSource as DataTable; DataRow[] rows = dt.Select(string.Format("id = {0}", combobox1.SelectedValue)); if(rows.Length > 0){ dt.Rows.Remove(rows[0]); } DataGridView1.DataSource = dt;
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta JCORBETTO lunes, 26 de noviembre de 2012 15:44
-
Todas las respuestas
-
hola
si el item pertenece a un datatable es de este que debes quitarlo
DataTable dt = DataGridView1.DataSource as DataTable; DataRow[] rows = dt.Select(string.Format("id = {0}", combobox1.SelectedValue)); if(rows.Length > 0){ dt.Rows.Remove(rows[0]); } DataGridView1.DataSource = dt;
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta JCORBETTO lunes, 26 de noviembre de 2012 15:44
-
Hola Leandro, gracias por responder, este es la funcion donde lleno el combobox
public void TARJETAS()
{
try
{
INGRESO_DOCENTE Ofrmingreso_docente = (INGRESO_DOCENTE)Application.OpenForms[2];
iniciar_conexion();
cmSql = new SqlCommand("consultar_tarjetas_disponibles", conexion);
cmSql.CommandType = CommandType.StoredProcedure;
adapter = new SqlDataAdapter(cmSql);
dt = new DataTable();
ds = new DataSet();
adapter.Fill(ds, "tarjeta");
dt = ds.Tables["tarjeta"];
if (ds.Tables[0].Rows.Count > 0)
{
DataRow row = dt.NewRow();
dt.Rows.InsertAt(row, 0);
Ofrmingreso_docente.cbnumeros.DataSource = ds.Tables["tarjeta"];
Ofrmingreso_docente.cbnumeros.DisplayMember = "idtarjeta";
}
}
catch
{
MessageBox.Show("Error al llenar el combo.", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
cerrar_conexion();
}
}El combo lo lleno sin problemas, pero no se en donde colocaria el codigo que me propusistes de ejemplo. Gracias de antemano cualquier ayuda
-
-
Gracias Leandro, este es el codigo modificado:
private void cbnumeros_SelectionChangeCommitted(object sender, EventArgs e)
{
DataTable dt = cbnumeros.DataSource as DataTable;
DataRow[] rows = dt.Select(string.Format("idtarjeta = {0}", cbnumeros.SelectedValue)); //linea donde me marca el error
if (rows.Length > 0)
{
txtcodtarjeta.Text = cbnumeros.Text;
dt.Rows.Remove(rows[0]);
}
cbnumeros.DataSource = dt;
}pero al ejecutar el programa me muestra es siguiente mensaje de error: Error de sintaxis: falta el operando después del operador '='.
-
listo Leandro, revise bien el codigo y le hice los cambios respectivos y solucione el problema
aqui los cambios:
private void cbnumeros_SelectionChangeCommitted(object sender, EventArgs e)
{
DataTable dt = cbnumeros.DataSource as DataTable;
DataRow[] rows = dt.Select(cbnumeros.SelectedText);
foreach (DataRow row in rows)
{
txtcodtarjeta.Text = cbnumeros.Text;
dt.Rows.Remove(row);
}
cbnumeros.DataSource = dt;
}