Foros del Web » Programación para mayores de 30 ;) » .NET »

Duda en C#

Estas en el tema de Duda en C# en el foro de .NET en Foros del Web. Existe alguna instruccion en C# para que haga que un textbox y un datagrid se reseteen y me permita asi realizar uan nueva consulta donde ...
  #1 (permalink)  
Antiguo 12/06/2009, 12:15
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Duda en C#

Existe alguna instruccion en C# para que haga que un textbox y un datagrid se reseteen y me permita asi realizar uan nueva consulta donde se muestren nuevos datos?
  #2 (permalink)  
Antiguo 12/06/2009, 12:23
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

se reseteen????

sera mejor decir que se limpien los datos de los dos (tanto textbox como datagrid)

pero pregunta

en que momento quieres que se limpien - lo recomedable es poner un boton que se llame limpiar en ese caso
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 13/06/2009, 04:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Exacto queria decir limpiar. Y precisamente de esa manera con un boton que al pulsarlo limpe el textbox y el datagrid. Existe alguna instruccion especifica para ello?¿
  #4 (permalink)  
Antiguo 13/06/2009, 12:58
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

Bueno en el boton Limpiar podrias hacer lo siguiente

this.textbox1.text="";
//si lo que quieres es que se muestre tu grilla sin nada entonces
datagradidview1.DataSource=null;
//si lo que quieres es que se muestre tu grilla con todos los datos entonces
datagridview1.DataSource=bdl.Tables["eventrecord"];
datagridview1.Update();
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 15/06/2009, 03:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Ok si que limpia todos los datos pero si introduzco un codigo distinto al que introduje la 1º vez, me repite los datos en el datagrid. Es decir yo kiero que al limpiar los datos pueda realizar otra consulta de datos totalmente nueva.Existe aguna forma de hacerlo?¿
  #6 (permalink)  
Antiguo 15/06/2009, 08:12
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

como que te repiten los datos en el datagrid los datos de la antigua busqueda ????
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 15/06/2009, 10:01
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Si se repiten. Por ejemplo escribo en el textbox un numero xxxx y me dice en que sitio esta sitio1 y sitio2 . Acto seguido pulso el boton de limpiar , limpia el textbox y el grid sin problema. Pero ahora vuelvo a escribir otro numero en el textbox yyyy y me salen los mismos datos en el grid sitio1 y sitio2 cuando deberia ser solo sitio1.
  #8 (permalink)  
Antiguo 15/06/2009, 10:16
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

podrias poner como lo estas haciendo y los resultados completos de como lo devuelven
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #9 (permalink)  
Antiguo 15/06/2009, 10:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Perdona no entiendo que me dices que haga.
  #10 (permalink)  
Antiguo 15/06/2009, 10:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Es decir quiero que al pulsar el boton de limpiar el grid y el textbox pueda hacer una nueva consulta de otro codigo totalmente nueva.
  #11 (permalink)  
Antiguo 15/06/2009, 11:31
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

puedes poner mejor tu codigo para ver como lo estas haciendo
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #12 (permalink)  
Antiguo 15/06/2009, 11:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Esto es lo que tengo de codigo:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace Busqueda_de_O.F
{
class ClsUtil
{

public static void SoloNumeros(object sender, KeyPressEventArgs e)
{

if ((e.KeyChar >= 48) && (e.KeyChar <= 57))
e.Handled = false;
//Acepta Borrador y Enter
else if ((e.KeyChar == 8) || (e.KeyChar == 13))
e.Handled = false;
else
{
e.Handled = true;
}

}

}




public partial class Form1 : Form
{
private DataSet bdl;//DataSet de datos
private DataTable tabla;//Tabla que almacena datos
private MySqlDataAdapter adaptador;//Objeto que sirve para comunicar al dataset con el DBMS
private MySqlConnection conn;//Objeto que realiza la conexion con el DBMS
private MySqlCommand cmd;//Objeto para la ejecucion de sentencias SQ


public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
bdl = new DataSet("singularity");
tabla = new DataTable("eventrecord");
conn = new MySqlConnection("Database=singularity;Data Source=localhost;User Id=root;Password=825200");
cmd = new MySqlCommand("Sentencia SQL", conn);
adaptador = new MySqlDataAdapter(cmd);
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
ClsUtil.SoloNumeros(textBox1, e);// con esto ya tendriamos la verificacion de solo numeros
}


string Codigo;
private void button1_Click(object sender, EventArgs e)
{
Codigo = textBox1.Text.Trim();
conn.Open();//Abre la conexion
if (bdl.Tables.Count == 0)
{

cmd.CommandText = " SELECT readerid FROM eventrecord WHERE tagid like '"+ Codigo +"%' ";
adaptador.Fill(tabla);
bdl.Tables.Add(tabla);

}

else
{

bdl.AcceptChanges();
adaptador.Update(bdl, "eventrecord");

}

dataGridView1.DataSource = bdl.Tables["eventrecord"];
dataGridView1.Update();
conn.Close();//Cierra la conexion

this.dataGridView1.AllowUserToAddRows = false;
textBox2.Text = dataGridView1.Rows.Count.ToString();
}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{

try
{
bdl = new DataSet("singularity");
tabla = new DataTable("eventrecord");
conn = new MySqlConnection("Database=singularity;Data Source=localhost;User Id=root;Password=825200");
cmd = new MySqlCommand("Sentencia SQL", conn);
adaptador = new MySqlDataAdapter(cmd);
}

catch (MySqlException ex)
{
MessageBox.Show(ex.Message, "Error al intentar conectarse", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

}

private void button2_Click(object sender, EventArgs e)
{
this.textBox1.Text ="";
this.textBox2.Text = "";
dataGridView1.DataSource = null;
}
}
}
  #13 (permalink)  
Antiguo 15/06/2009, 12:00
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

bueno tu codigo esta desordenado y no tan optimizado como todo principiante bueno en el limpiar tendrias que poner esto mas

bdl.clear();
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #14 (permalink)  
Antiguo 15/06/2009, 12:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Ok puse bdl.clear(); pero ahora cuando hago una nueva consulta en el datagrid solo aparece el nombre del campo de la base de datos,no aparece ningun dato.
  #15 (permalink)  
Antiguo 15/06/2009, 12:16
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

entonces inserta en esa consulta los demas campos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Última edición por Dradi7; 15/06/2009 a las 12:28
  #16 (permalink)  
Antiguo 15/06/2009, 12:23
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Como? No entiendo que me kieres decir perdona....
  #17 (permalink)  
Antiguo 15/06/2009, 12:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Una pregunta no se podria hacer que el programa se reiniciara o se volviera al principio de nuevo como si se acabara de abrir la ventana de windows¿?
  #18 (permalink)  
Antiguo 15/06/2009, 12:28
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

Cita:
Iniciado por Dradi7 Ver Mensaje
entonces inserta en esa consulta los demas campos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #19 (permalink)  
Antiguo 15/06/2009, 12:44
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

A ver que me hago un poco de lio... podria ser que donde tengo las sentencias de mysql en el butto1 pongo lo de bdl.clear();?¿
  #20 (permalink)  
Antiguo 15/06/2009, 12:45
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

no en el limpiar debe ir
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #21 (permalink)  
Antiguo 15/06/2009, 12:51
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Seria así ?¿


private void button2_Click(object sender, EventArgs e)
{
this.textBox1.Text ="";
this.textBox2.Text = "";
dataGridView1.DataSource = null;
bdl.Clear();

Codigo = textBox1.Text.Trim();
conn.Open();//Abre la conexion
if (bdl.Tables.Count == 0)
{

cmd.CommandText = " SELECT readerid FROM eventrecord WHERE tagid like '"+ Codigo +"%' ";
adaptador.Fill(tabla);
bdl.Tables.Add(tabla);

}

else
{

bdl.AcceptChanges();
adaptador.Update(bdl, "eventrecord");

}

dataGridView1.DataSource = bdl.Tables["eventrecord"];
dataGridView1.Update();
conn.Close();//Cierra la conexion

this.dataGridView1.AllowUserToAddRows = false;
textBox2.Text = dataGridView1.Rows.Count.ToString();
}
}
}
  #22 (permalink)  
Antiguo 15/06/2009, 12:58
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Duda en C#

no solo deberia ir esto

private void button2_Click(object sender, EventArgs e)
{
this.textBox1.Text ="";
this.textBox2.Text = "";
dataGridView1.DataSource = null;
bdl.Clear();
}

y en el boton1

Codigo = textBox1.Text.Trim();
conn.Open();//Abre la conexion
if (bdl.Tables.Count == 0)
{

cmd.CommandText = " SELECT readerid,nombre de las columnas que quieres mostrar FROM eventrecord WHERE tagid like '"+ Codigo +"%' ";
adaptador.Fill(tabla);
bdl.Tables.Add(tabla);

}

else
{

bdl.AcceptChanges();
adaptador.Update(bdl, "eventrecord");

}

dataGridView1.DataSource = bdl.Tables["eventrecord"];
dataGridView1.Update();
conn.Close();//Cierra la conexion

this.dataGridView1.AllowUserToAddRows = false;
textBox2.Text = dataGridView1.Rows.Count.ToString();
}
}
}
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #23 (permalink)  
Antiguo 15/06/2009, 21:40
 
Fecha de Ingreso: junio-2009
Mensajes: 117
Antigüedad: 14 años, 10 meses
Puntos: 3
Respuesta: Duda en C#

Application.Restart(); y listo =)
  #24 (permalink)  
Antiguo 16/06/2009, 01:57
 
Fecha de Ingreso: mayo-2009
Mensajes: 118
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Duda en C#

Si,ya fui capaz de que funcione.Muchas gracias!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:36.