SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: LocoPoshon27 en Martes 11 de Junio de 2013, 04:45

Título: Problemas Para Validar datos en un datagridview
Publicado por: LocoPoshon27 en Martes 11 de Junio de 2013, 04:45
Hola gente de solocodigo, tengo el siguiente problema tengo un datagridview al cual le estoy pasando datos desde la base, lo que quiero hacer es lo siguiente si hago click fuera de las filas es decir en el area que no tiene datos me tire una exepcion algo asi como "No ha seleccionado una fila".
He buscado por todos lados pero no he encontrado nada, se que es algo boludo lo que pregunto pero quisiera saberlo para colocar esta exepcion en mi codigo.

Coloco una imagen y el area donde quiero hacer click y que me arroje la exepcion.
Título: Re:Problemas Para Validar datos en un datagridview
Publicado por: ProfesorX en Martes 11 de Junio de 2013, 23:55
Bueno, si la verdad es algo "boludo", especificamente no existe ningun evento para comprobar cuando se hace clic fuera de una celda, pero puede ser implementado por medio de una bandera y los eventos MouseClick y CellClick de la clase DataGridView.

El evento MouseClick se dispara cuando haces click en cualqier parte del DataGridView.
El evento CellClick se dispara cuando haces click en una celda cualquiera del DataGridView.

Entonces simplemente modificamos la bandera para que cuando hagas click en una celda no mande un mensaje.

Te dejo el codigo para que te des una mejor idea.

Código: [Seleccionar]
    public partial class Form1 : Form
    {
        // Nuestra Bandera
        private bool celda;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Inicializamos con falso indicando que no hicimos click en una celda
            celda = false;

        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            // Si hacemos click en una celda, lo cambiamos a verdadero
            celda = true;
        }

        private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
        {
            // Verificamos si previamente habiamos clickeado en una celda
            if (celda == true)
                // Lo ponemos a false para volver a capturar un click fuera de una celda
                celda = false;
            else
                // El mensaje de error
                MessageBox.Show("No se ha seleccionado una fila");
        }
    }

Espero que sea lo que necesites.

Saludos :)
Título: Re:Problemas Para Validar datos en un datagridview
Publicado por: LocoPoshon27 en Miércoles 12 de Junio de 2013, 17:43
La Verdad Gracias por la respuesta macho si es una pelotudes pero bueno me queria sacar la duda, tu ejemplo me sirvio al pelo asi que se agradece la respuesta.