Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - SAGA-gl

#21
lo pude solucionar....agrego a datagrid2 tantas filas como devuelva la consulta al datagrid1.....ahora como puedo hacer para que las filas del datagrid2 se puedan modificar? muchas gracias
Código (csharp) [Seleccionar]
private void txtNumero_KeyDown_1(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {

                if (txtNumero.Text == "")
                {

                    DialogResult ds = MessageBox.Show("DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    this.Text = ds.ToString();
                }
                else
                    if (txtNumero.Text != "")
                    {
                        conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
                        conexion.Open();
                        SqlCommand consulta = new SqlCommand("select count (*) from DetalleOrdenCompra where nro_orden=@nro", conexion);
                        consulta.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNumero.Text));

                        int count = Convert.ToInt32(consulta.ExecuteScalar());


                        if (count > 0)
                        {

                            DialogResult result = MessageBox.Show(this, "DESEA REGISTRAR LOS DATOS?", "ORDEN DE COMPRA ENCONTRADA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);


                            //MessageBox.Show(consulta2.ToString());
                            this.Text = result.ToString();

                            if (result == DialogResult.OK)
                            {

                                //CARGAR LOS DATAGRIDVIEW
                                SqlCommand consulta2 = new SqlCommand("SELECT dbo.medicamentos1.nombre_medicamento, dbo.medicamentos1.jerarquia, dbo.DetalleOrdenCompra.cantidad FROM dbo.DetalleOrdenCompra INNER JOIN dbo.medicamentos1 ON dbo.DetalleOrdenCompra.codigoMedicamento = dbo.medicamentos1.id_medicamento WHERE nro_orden=@nro ", conexion);
                                consulta2.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNumero.Text));
                                SqlDataAdapter da = new SqlDataAdapter(consulta2);
                                DataTable dt = new DataTable();
                                da.Fill(dt);

                                dgv1.DataSource = dt;
                                int rows = dt.Rows.Count;

                                dgv1.Columns[0].HeaderText = "MEDICAMENTO";
                                dgv1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[0].Width = 211;
                                dgv1.Columns[1].HeaderText = "JERARQUIA";
                                dgv1.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[1].Width = 180;
                                dgv1.Columns[2].HeaderText = "CANTIDAD";
                                dgv1.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[2].Width = 80;



                                for (int i = 1; i <= rows; i++)
                                {
                                    DataGridViewRow row = (DataGridViewRow)dgv2.RowTemplate.Clone();
                                    dgv2.Rows.Add(row);
                                   
                                   
                                }
                                txtNumero.Enabled = false;

                            }
                            else if (result == DialogResult.Cancel)
                            {

                                txtNumero.Text = "";

                            }

                            this.Text = result.ToString();


                        }
                        else
                        {

                            DialogResult ds = MessageBox.Show(this, "LA ORDEN INGRESADA NO SE ENCUENTRA REGISTRADA", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            this.Text = ds.ToString();

                        }

                        conexion.Close();
                    }
#22
buenas noches verán tengo el sig. código en el cual traigo una consulta de la bd y pongo los resultados en el datagridview....lo q qiero hacer es agregar una o mas columnas d tipo textbox y checkbox y q tngan x filas según la cantidad de renglones q devuelva la consulta en tiempo de ejecución....como lo logro? grax d antemano
Código (csharp) [Seleccionar]
private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {

                if (txtNumero.Text == "")
                {

                    DialogResult ds = MessageBox.Show("DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    this.Text = ds.ToString();
                }
                else
                    if (txtNumero.Text != "")
                    {
                        conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
                        conexion.Open();
                        SqlCommand consulta = new SqlCommand("select count (*) from DetalleOrdenCompra where codigoOrden=@codigo", conexion);
                        consulta.Parameters.AddWithValue("@codigo", Convert.ToInt32(txtNumero.Text));

                        int count = Convert.ToInt32(consulta.ExecuteScalar());


                        if (count > 0)
                        {

                            DialogResult result = MessageBox.Show(this, "DESEA REGISTRAR LOS DATOS?", "ORDEN DE COMPRA ENCONTRADA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                           

                           
                            //MessageBox.Show(consulta2.ToString());
                            this.Text = result.ToString();

                            if (result == DialogResult.OK)
                            {

                                //CARGAR LOS DATAGRIDVIEW
                                SqlCommand consulta2 = new SqlCommand("SELECT dbo.DetalleOrdenCompra.codigoMedicamento,dbo.medicamentos1.nombre_medicamento, dbo.DetalleOrdenCompra.cantidad FROM dbo.DetalleOrdenCompra INNER JOIN dbo.medicamentos1 ON dbo.DetalleOrdenCompra.codigoMedicamento = dbo.medicamentos1.id_medicamento INNER JOIN dbo.DetalleMedicamento ON dbo.medicamentos1.id_medicamento = dbo.DetalleMedicamento.id_medicamento WHERE codigoOrden=@codigo ", conexion);
                                consulta2.Parameters.AddWithValue("@codigo", Convert.ToInt32(txtNumero.Text));
                                SqlDataAdapter da = new SqlDataAdapter(consulta2);
                                DataTable dt = new DataTable();
                                da.Fill(dt);
                                //dgv1.AutoGenerateColumns = false;
                                dgv1.DataSource = dt;

                                dgv1.Columns[0].HeaderText = "CODIGO";
                                dgv1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[0].Width = 60;
                                dgv1.Columns[1].HeaderText = "MEDICAMENTO";
                                dgv1.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[1].Width = 211;
                                dgv1.Columns[2].HeaderText = "CANTIDAD";
                                dgv1.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
                                dgv1.Columns[2].Width = 80;
                               
                               
                               
                                txtNumero.Enabled = false;
                            }
                            else if (result == DialogResult.Cancel)
                            {

                                txtNumero.Text = "";

                            }
                           
                            this.Text = result.ToString();
                           
                           
                        }
                        else
                        {

                            DialogResult ds = MessageBox.Show(this, "LA ORDEN INGRESADA NO SE ENCUENTRA REGISTRADA", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            this.Text = ds.ToString();
                           
                        }

                        conexion.Close();

                    }
#23
buenas noches gente del foro....verán esta vez no pregunto sobre códigos ni demás jejeje.....sino q solicito vuestras opiniones(consejos) sobre un proyecto q estoy llevando a cabo (tesis) sobre administración de un deposito de medicamentos.....al grano: tengo varios forms (c#) en el cual registro en tablas de bd (medicamento por categoría, ordenes de compra, detalle de ordenes de compra, ubicaciones por categoría según medicamento) en detalle de ordenes registro los medicamentos q tiene la orden(con su precio, programa, etc.).....a la hora d registrar el stock de esos medicamentos en las ubicaciones(puede ser el total q pide esa orden o un parcial) se m complica la "funcionalidad"....yo m imagino consultando el detalle d la orden y pudiendo registrar el total o un parcial....en el caso de registrar un parcial realizar un "update".....como podría realizar dicha función? q m aconsejan? perdón x la falta d info...necesito la opinión d expertos(elektro por nombrar alguno, por ser siempre el q m comprendió y sin ofender a nadie) en el tema q siemp m guiaron en el desarrollo d esta aplicación.....muchísimas graxias d antemano....slds!!
#24
.NET (C#, VB.NET, ASP) / barcode en picture
3 Junio 2015, 07:09 AM
saludos gente del foro....como se asigna el código de barras al picture? grax d antemano
Código (csharp) [Seleccionar]
private void GenerateBacode(string _data,string _file)
        {
            _data = "2345";
           
            Linear barcode = new Linear();
            barcode.Type = BarcodeType.CODE128;
            barcode.Data = _data;
            barcode.drawBarcode();
         
        }
#25
disculpen....lo pude resolver mil grax perdón x las molestias
#26
buenas noches gente del foro....tengo el siguiente código en el cual a partir de un botón voy agregando registros a un datagridview e intento no dejar agregar otro registro que tenga igual el campo medicamento si ya esta cargado....al final no lo puedo conseguir ya q no m deja agregar uno repetido pero qando cambio el medicamento o sea es distinto...no m lo deja agregar...q tngo q modificar del bool? muchas grax d antemano
Código (csharp) [Seleccionar]
private void button1_Click(object sender, EventArgs e)
        {
            if (txtCantidad.Text == "" || txtPrograma.Text == "" || txtPrecio.Text == "")
            {
               
                DialogResult ds = MessageBox.Show(this, "DEBE COMPLETAR TODOS LOS CAMPOS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                this.Text = ds.ToString();

            }
            else

                if (txtCantidad.Text != "" || txtPrograma.Text != "" || txtPrecio.Text != "")
                {

                    int numero = int.Parse(txtNumero.Text);
                    string medicamento = comboMedicamento.Text;
                    int cantidad = int.Parse(txtCantidad.Text);
                    string programa = txtPrograma.Text;
                    float precio = float.Parse(txtPrecio.Text);
                    int numMedic = int.Parse(comboMedicamento.SelectedValue.ToString());
                    bool existe = dgv.Rows.Cast<DataGridViewRow>().Any(x => Convert.ToInt32(x.Cells["Column7"].Value) == numMedic);

                    if (existe)
                    {

                        MessageBox.Show(this, "MEDICAMENTO YA CARGADO", "ATENCION", MessageBoxButtons.OK);

                    }
                    else
                    {
                        if (!existe)
                        {
                            dgv.Rows.Add(numMedic, medicamento, cantidad, programa, precio, cantidad * precio, numero);
                            button2.Enabled = true;
                            button3.Enabled = true;
                            txtCantidad.Text = "";
                            txtPrecio.Text = "";
                            txtPrograma.Text = "";
                        }
                    }
                }

        }
#27
como siempre....me han servido d gran ayuda vuestros comentarios muchas grax x responder SLDS!!!
#28
buenas noches gente del foro...verán tengo una duda...estoy haciendo una aplicación de escritorio en la cual ingreso una serie de datos para darlos de alta en una tabla en una bd....verán cuando ingreso el nro d orden en el textbox presionaba un botón consultar para ver si ya se encontraba esa orden registrada si no estaba, habilitaba los controles para cargar los datos y luego registrarlos....al exponer esta parte d la aplicación (mi tesis) la profesora m la rechazo ya q es tedioso para el usuario presionar un botón para consultar sobre un dato si esta registrado o no....x lo q se m ocurrio implementar un autocomplete en el textbox.....m podrían ayudar sobre la implementación es decir ejemplos y demás? creo entender q al ir escribiendo el dato en el textbox hace la consulta y va trayendo los datos q tngan ese valor? y si no esta podría activar los otros controles y demás x ejemplo?
espero no causar muchas molestias y dsd ya muchas grax
expongo el código q fui realizando hst el momento
Código (csharp) [Seleccionar]
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;

namespace RegistrarOCspp2
{
    public partial class RegistrarOrden : Form
    {
        public RegistrarOrden()
        {
            InitializeComponent();
           
        }

        private void studioButton2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void RegistrarOrden_Load(object sender, EventArgs e)
        {
            // TODO: esta línea de código carga datos en la tabla 'proyectoSaludDataSet7.medicamentos1' Puede moverla o quitarla según sea necesario.
            this.medicamentos1TableAdapter.Fill(this.proyectoSaludDataSet7.medicamentos1);

        }

        private static void OnlyNumber(KeyPressEventArgs e, bool isdecimal)
        {
            String aceptados;
            if (!isdecimal)
            {
                aceptados = "0123456789," + Convert.ToChar(8);
            }
            else
                aceptados = "0123456789." + Convert.ToChar(8);

            if (aceptados.Contains("" + e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }

        private void txtUnidad_KeyPress(object sender, KeyPressEventArgs e)
        {

            if (!Char.IsNumber(e.KeyChar) && e.KeyChar != (char)8)
            {

                e.Handled = true;
                OnlyNumber(e, false);

            }
        }

        private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
        {

            if (!Char.IsNumber(e.KeyChar) && e.KeyChar != (char)8)
            {

                e.Handled = true;
                OnlyNumber(e, false);

            }
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar))
                e.Handled = false;
            else if (char.IsControl(e.KeyChar))
                e.Handled = false;
            else if (char.IsSeparator(e.KeyChar))
                e.Handled = false;
            else
                e.Handled = true;
        }


        private void textBox1_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
            ToolTip1.SetToolTip(this.txtNumero, "Ejemplo: 2290");
            txtCantidad.Enabled = true;

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (txtCantidad.Text == "" || txtPrograma.Text == "" || txtPrecio.Text == "")
            {
               
                DialogResult ds = MessageBox.Show(this, "DEBE COMPLETAR TODOS LOS CAMPOS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                this.Text = ds.ToString();

            }
            else

                if (txtCantidad.Text != "" || txtPrograma.Text != "" || txtPrecio.Text != "")
                {
                   
                   
                    string medicamento = comboMedicamento.Text;
                    int cantidad = int.Parse(txtCantidad.Text);
                    string programa = txtPrograma.Text;
                    float precio = float.Parse(txtPrecio.Text);
                    dgv.Rows.Add(medicamento, cantidad, programa, precio, cantidad * precio);
                    button3.Enabled = true;
                   

                }

        }

        private void button4_Click(object sender, EventArgs e)
        {
            this.Close();
        }


        private void button3_Click(object sender, EventArgs e)
        {


            int fila = dgv.CurrentRow.Index;
            if (fila == 0)
                button3.Enabled = false;
            dgv.Rows.RemoveAt(fila);
           


        }

       

       
       
    }
}
#29
buenas noches ha funcionado a la perfeccion.........se q me vas a regañar xq va contra las reglas del foro pero MUCHISIMAS GRACIAS ELEKTRO
#30
m salio el mismo error d solo lectura.....m falta algo?
Código (csharp) [Seleccionar]
private void radButton5_Click(object sender, EventArgs e)
        {
            using (rgv.DeferRefresh())
            {
                foreach (GridViewRowInfo row in rgv.SelectedRows)
                {
                    rgv.Rows.Remove(row);
                }
            }
           
           
        }