elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: 1 [2] 3 4
11  Programación / Programación C/C++ / manual de c en: 29 Octubre 2015, 00:42 am
buenas gente del foro....esta pregunta es en especial al mod/s de la sección....cual es el mejor manual q m recomendarian d C el mas completo....el q mejor consideren recomendarme....slds!
12  Programación / .NET (C#, VB.NET, ASP) / cadena o datos binarios podrían truncarse en: 26 Julio 2015, 06:20 am
buenas noches gente del foro....verán tengo el siguiente código el cual modifica el atributo estado d una tabla sql server a partir de los datos del datagridview...obtengo el error del asunto...investigue un poko y dicen q es x exceder el máximo de caracteres del atributo varchar.....bueno lo cambio a 100 exagerándolo demasiado y obtengo el mismo error...a q se debe? muchas grx d antemano
Código
  1. private void button2_Click(object sender, EventArgs e)
  2.        {
  3.  
  4.            try
  5.            {
  6.                conexion.Open();
  7.                foreach (DataGridViewRow row in dgv1.Rows)
  8.                {
  9.  
  10.                    SqlCommand alta1 = new SqlCommand("insert into Stock values(@ubicacion,@medicamento,@jerarquia,@lote,@vto,@cantidadIngreso,@cantidadFaltante)", conexion);
  11.                    alta1.Parameters.AddWithValue("@ubicacion", row.Cells[6].Value);
  12.                    alta1.Parameters.AddWithValue("@medicamento", row.Cells[0].Value);
  13.                    alta1.Parameters.AddWithValue("@jerarquia", row.Cells[1].Value);
  14.                    alta1.Parameters.AddWithValue("@lote", row.Cells[2].Value);
  15.                    alta1.Parameters.AddWithValue("@vto",
  16.         row.Cells[3].Value);
  17.                    alta1.Parameters.AddWithValue("@cantidadIngreso", row.Cells[4].Value);
  18.                    alta1.Parameters.AddWithValue("@cantidadFaltante", row.Cells[5].Value);
  19.                    alta1.ExecuteNonQuery();
  20.                }
  21.                foreach (DataGridViewRow row2 in dgv1.Rows)
  22.                {
  23.                    string ubicacion = row2.Cells["ubicacion"].Value.ToString();
  24.  
  25.                    string query = "update Ubicaciones set estado= 'ocupado' where ubicacion = @ubicacion";
  26.  
  27.                    SqlCommand cmd = new SqlCommand(query, conexion);
  28.                    cmd.Parameters.AddWithValue("@ubicacion", ubicacion);
  29.  
  30.                    cmd.ExecuteNonQuery();
  31.  
  32.  
  33.                }
  34.            }
  35.            catch(SqlException ex)
  36.            {
  37.                MessageBox.Show(ex.ToString());
  38.            }
  39.            finally
  40.            {
  41.                conexion.Close();
  42.            }
  43.        }
13  Programación / .NET (C#, VB.NET, ASP) / evento cellvalidating datagridview en: 21 Julio 2015, 06:34 am
saludos gente del foro....verán tengo este código de un caso d uso en el cual mi problema es que en el evento de ref.- tengo un problemilla....al validar que se ingrese datos d tipo fecha en una columna del datagrid (el cual lo hace sin problemas) no puedo salir d la celda ni cambiarme a otra ni realizar otra acción hasta completarla con el formato correcto....como podría solucionarlo...perdón x las molestias es algo complejo xa mi con lo básico q he aprendido....muchas grax d antemano
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Data.SqlClient;
  10. using System.Diagnostics;
  11.  
  12. namespace RegistrarOCspp2
  13. {
  14.    public partial class RegistrarStock : Form
  15.    {
  16.        public RegistrarStock()
  17.        {
  18.            InitializeComponent();
  19.            dgv1.AllowUserToAddRows = false;
  20.  
  21.  
  22.  
  23.        }
  24.        int cant = 0;
  25.        ClaseABM con = new ClaseABM();
  26.        private SqlConnection conexion;
  27.        private SqlCommand consulta;
  28.  
  29.        private void studioButton2_Click(object sender, EventArgs e)
  30.        {
  31.            this.Close();
  32.        }
  33.  
  34.        private void RegistrarStock_Load(object sender, EventArgs e)
  35.        {
  36.            // TODO: esta línea de código carga datos en la tabla 'proyectoSaludDataSet27.ubicacion' Puede moverla o quitarla según sea necesario.
  37.            this.ubicacionTableAdapter.Fill(this.proyectoSaludDataSet27.ubicacion);
  38.            // TODO: esta línea de código carga datos en la tabla 'proyectoSaludDataSet26.jerarquia' Puede moverla o quitarla según sea necesario.
  39.            this.jerarquiaTableAdapter.Fill(this.proyectoSaludDataSet26.jerarquia);
  40.            AutoValidate = AutoValidate.Disable;
  41.  
  42.  
  43.        }
  44.  
  45.  
  46.  
  47.  
  48.        private void CrearColumnaLote()
  49.        {
  50.            DataGridViewTextBoxColumn txtColumna =
  51.                new DataGridViewTextBoxColumn();
  52.            txtColumna.Name = "Lote";
  53.            txtColumna.HeaderText = "LOTE";
  54.            dgv1.Columns.Insert(3, txtColumna);
  55.            dgv1.Columns[3].Width = 150;
  56.            dgv1.Columns[3].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  57.            dgv1.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  58.        }
  59.        private void CrearColumnaVto()
  60.        {
  61.            DataGridViewTextBoxColumn txtColumna =
  62.                new DataGridViewTextBoxColumn();
  63.            txtColumna.Name = "Vto";
  64.            txtColumna.HeaderText = "VENCIMIENTO";
  65.            dgv1.Columns.Insert(4, txtColumna);
  66.            dgv1.Columns[4].Width = 20;
  67.            dgv1.Columns[4].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  68.            dgv1.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  69.        }
  70.  
  71.        private void CrearColumnaStock()
  72.        {
  73.            DataGridViewTextBoxColumn txtColumna =
  74.                new DataGridViewTextBoxColumn();
  75.            txtColumna.Name = "Stock";
  76.            txtColumna.HeaderText = "CANTIDAD A INGRESAR";
  77.            dgv1.Columns.Insert(5, txtColumna);
  78.            dgv1.Columns[5].Width = 211;
  79.            dgv1.Columns[5].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  80.            dgv1.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  81.  
  82.        }
  83.        private void CrearColumnaFaltante()
  84.        {
  85.            DataGridViewTextBoxColumn txtColumna =
  86.                new DataGridViewTextBoxColumn();
  87.            txtColumna.Name = "Faltante";
  88.            txtColumna.HeaderText = "FALTANTE";
  89.            dgv1.Columns.Insert(6, txtColumna);
  90.            dgv1.Columns[6].Width = 211;
  91.            dgv1.Columns[6].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  92.            dgv1.Columns[6].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  93.  
  94.        }
  95.        private void CrearColumnaUbicacion()
  96.        {
  97.            DataGridViewTextBoxColumn comboColumna =
  98.                new DataGridViewTextBoxColumn();
  99.            comboColumna.Name = "Ubicacion";
  100.            comboColumna.HeaderText = "UBICACION";
  101.            dgv1.Columns.Insert(7, comboColumna);
  102.            dgv1.Columns[7].Width = 30;
  103.            dgv1.Columns[7].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  104.            dgv1.Columns[7].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  105.  
  106.        }
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.        private void txtNumero_KeyDown_1(object sender, KeyEventArgs e)
  114.        {
  115.            if (e.KeyCode == Keys.Enter)
  116.            {
  117.  
  118.                if (txtNumero.Text == "")
  119.                {
  120.  
  121.                    DialogResult ds = MessageBox.Show("DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  122.                    this.Text = ds.ToString();
  123.                }
  124.                else
  125.                    if (txtNumero.Text != "")
  126.                    {
  127.                        conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
  128.                        conexion.Open();
  129.                        SqlCommand consulta = new SqlCommand("select count (*) from DetalleOrdenCompra where nro_orden=@nro", conexion);
  130.                        consulta.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNumero.Text));
  131.  
  132.                        int count = Convert.ToInt32(consulta.ExecuteScalar());
  133.  
  134.  
  135.                        if (count > 0)
  136.                        {
  137.  
  138.                            DialogResult result = MessageBox.Show(this, "DESEA REGISTRAR LOS DATOS?", "ORDEN DE COMPRA ENCONTRADA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
  139.  
  140.  
  141.                            //MessageBox.Show(consulta2.ToString());
  142.                            this.Text = result.ToString();
  143.  
  144.                            if (result == DialogResult.OK)
  145.                            {
  146.  
  147.                                //CARGAR LOS DATAGRIDVIEW
  148.                                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);
  149.                                consulta2.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNumero.Text));
  150.                                SqlDataAdapter da = new SqlDataAdapter(consulta2);
  151.                                DataTable dt = new DataTable();
  152.                                da.Fill(dt);
  153.  
  154.                                dgv1.DataSource = dt;
  155.  
  156.                                dgv1.Columns[0].ReadOnly = true;
  157.                                dgv1.Columns[1].ReadOnly = true;
  158.                                dgv1.Columns[2].ReadOnly = true;
  159.                                int rows = dt.Rows.Count;
  160.                                dgv1.Columns[0].HeaderText = "MEDICAMENTO";
  161.                                dgv1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  162.                                dgv1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  163.                                dgv1.Columns[0].Width = 211;
  164.                                dgv1.Columns[1].HeaderText = "JERARQUIA";
  165.                                dgv1.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  166.                                dgv1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  167.                                dgv1.Columns[1].Width = 180;
  168.                                dgv1.Columns[2].HeaderText = "CANTIDAD";
  169.                                dgv1.Columns[2].Name = "Cantidad";
  170.                                dgv1.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  171.                                dgv1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  172.                                dgv1.Columns[2].Width = 80;
  173.                                CrearColumnaLote();
  174.                                CrearColumnaVto();
  175.                                CrearColumnaStock();
  176.                                CrearColumnaFaltante();
  177.                                CrearColumnaUbicacion();
  178.                                dgv1.Columns[6].ReadOnly = true;
  179.                                txtNumero.Enabled = false;
  180.                                dgv1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
  181.                                dgv1.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable;
  182.                                dgv1.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable;
  183.                                dgv1.Columns[3].SortMode = DataGridViewColumnSortMode.NotSortable;
  184.                                dgv1.Columns[4].SortMode = DataGridViewColumnSortMode.NotSortable;
  185.                                dgv1.Columns[5].SortMode = DataGridViewColumnSortMode.NotSortable;
  186.                                dgv1.Columns[6].SortMode = DataGridViewColumnSortMode.NotSortable;
  187.                                dgv1.Columns[7].SortMode = DataGridViewColumnSortMode.NotSortable;
  188.                                btnVerificar.Enabled = true;
  189.  
  190.  
  191.  
  192.                               }
  193.                            else if (result == DialogResult.Cancel)
  194.                            {
  195.                                txtNumero.Text = "";
  196.                            }
  197.  
  198.                            this.Text = result.ToString();
  199.                        }
  200.                        else
  201.                        {
  202.                            DialogResult ds = MessageBox.Show(this, "LA ORDEN INGRESADA NO SE ENCUENTRA REGISTRADA", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  203.                            this.Text = ds.ToString();
  204.                        }
  205.  
  206.                        conexion.Close();
  207.  
  208.                    }
  209.  
  210.            }
  211.        }
  212.  
  213.        private void txtNumero_KeyPress(object sender, KeyPressEventArgs e)
  214.        {
  215.            if (char.IsDigit(e.KeyChar))
  216.                e.Handled = false;
  217.            else if (char.IsControl(e.KeyChar))
  218.                e.Handled = false;
  219.            else if (char.IsSeparator(e.KeyChar))
  220.                e.Handled = false;
  221.            else
  222.                e.Handled = true;
  223.        }
  224.  
  225.        private void validar_Keypress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  226.        {
  227.  
  228.            int columna = dgv1.CurrentCell.ColumnIndex;
  229.  
  230.  
  231.            if (columna == 5)
  232.            {
  233.                TextBox txt = (TextBox)sender;
  234.  
  235.                if (char.IsDigit(e.KeyChar))
  236.                    e.Handled = false;
  237.                else if (char.IsControl(e.KeyChar))
  238.                    e.Handled = false;
  239.                else if (char.IsSeparator(e.KeyChar))
  240.                    e.Handled = false;
  241.                else
  242.                    e.Handled = true;
  243.            }
  244.        }
  245.  
  246.        private void dgv1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
  247.        {
  248.            TextBox validar = (TextBox)e.Control;
  249.            validar.KeyPress += validar_Keypress;
  250.        }
  251.  
  252.  
  253.        private void btnVer_Click(object sender, EventArgs e)
  254.        {
  255.                UbicacionesVacias u = new UbicacionesVacias();
  256.                u.Show();
  257.        }
  258.  
  259.        private void button4_Click(object sender, EventArgs e)
  260.        {
  261.            DialogResult result = MessageBox.Show(this, "SEGURO QUE DESEA SALIR?", "SALIR", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
  262.            this.Text = result.ToString();
  263.  
  264.            if (result == DialogResult.OK)
  265.            {
  266.                this.Close();
  267.            }
  268.            else if (result == DialogResult.Cancel)
  269.            {
  270.  
  271.  
  272.  
  273.            }
  274.        }
  275.        private Boolean EsFecha(String fecha)
  276.        {
  277.            try
  278.            {
  279.                DateTime.Parse(fecha);
  280.                return true;
  281.            }
  282.            catch
  283.            {
  284.                return false;
  285.            }
  286.        }
  287.  
  288.  
  289.        private void button2_Click(object sender, EventArgs e)
  290.        {
  291.  
  292.            try
  293.            {
  294.                conexion.Open();
  295.                foreach (DataGridViewRow row in dgv1.Rows)
  296.                {
  297.  
  298.                    SqlCommand alta1 = new SqlCommand("insert into Stock values(@codigo,@medicamento,@cantidad,@lote,@vto)", conexion);
  299.                    alta1.Parameters.AddWithValue("@codigo", row.Cells["Column1"].Value);
  300.                }
  301.            }
  302.            catch
  303.            {
  304.  
  305.            }
  306.            finally
  307.            {
  308.                conexion.Close();
  309.            }
  310.        }
  311.        private bool Existe()
  312.        {
  313.            foreach (IGrouping<object, DataGridViewRow> grupo in dgv1.Rows.Cast<DataGridViewRow>().GroupBy(dr => dr.Cells["Ubicacion"].Value).Where(g => g.Count() > 1))
  314.            {
  315.                foreach (DataGridViewRow fila in grupo)
  316.                {
  317.                    fila.DefaultCellStyle.ForeColor = Color.Red;
  318.                    return true;
  319.                }
  320.  
  321.  
  322.  
  323.            }
  324.            return false;
  325.        }
  326.  
  327.        private void dgv1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
  328.        {
  329.            dgv1.Rows[e.RowIndex].ErrorText = String.Empty;
  330.            DataGridViewRow row = (DataGridViewRow)dgv1.Rows[e.RowIndex];
  331.  
  332.            int cantidad = Convert.ToInt32(row.Cells["Cantidad"].Value);
  333.            int cantidad2 = Convert.ToInt32(row.Cells["Stock"].Value);
  334.            if (cantidad2 > cantidad)
  335.            {
  336.                MessageBox.Show("LA CANTIDAD A INGRESAR SUPERA LA CANTIDAD DE LA ORDEN DE COMPRA", "ATENCION", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
  337.                row.Cells["Stock"].Value = "";
  338.                row.Cells["Faltante"].Value = "";
  339.            }
  340.            else
  341.            {
  342.                row.Cells["Faltante"].Value = cantidad - cantidad2;
  343.            }
  344.            DataGridViewRow row2 = (DataGridViewRow)dgv1.Rows[e.RowIndex];
  345.            string ubicacion=Convert.ToString(row2.Cells["Ubicacion"].Value);
  346.            string jerarquia = Convert.ToString(row2.Cells[1].Value);
  347.            conexion.Open();
  348.            if (ubicacion != "")
  349.            {
  350.                SqlCommand consulta = new SqlCommand("select count (*) from Ubicaciones where codigo=@codigo and jerarquia=@jerarquia ", conexion);
  351.                consulta.Parameters.AddWithValue("@codigo", ubicacion);
  352.                consulta.Parameters.AddWithValue("@jerarquia", jerarquia);
  353.  
  354.                int count = Convert.ToInt32(consulta.ExecuteScalar());
  355.                if (count > 0)
  356.                {
  357.  
  358.                }
  359.                else
  360.                {
  361.                    MessageBox.Show("NO EXISTE LA UBICACION INGRESADA CONSULTE LAS UBICACIONES DISPONIBLES PARA ESA JERARQUIA CON EL BOTON 'UBICACIONES VACIAS' ", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Information);
  362.                    row2.Cells["Ubicacion"].Value = "";
  363.                }
  364.  
  365.            }
  366.            conexion.Close();
  367.  
  368.  
  369.        }
  370.  
  371.        private void dgv1_CellValidating_1(object sender, DataGridViewCellValidatingEventArgs e)
  372.        {
  373.  
  374.            if (!dgv1.Rows[e.RowIndex].IsNewRow)
  375.            {
  376.  
  377.                if (e.ColumnIndex == 4)
  378.                {
  379.                    if (!this.EsFecha(e.FormattedValue.ToString()))
  380.                    {
  381.                         dgv1.Rows[e.RowIndex].ErrorText = "EL DATO INTRODUCIDO NO ES UNA FECHA";
  382.                        e.Cancel = true;
  383.                    }
  384.                }
  385.            }
  386.        }
  387.  
  388.        private void RegistrarStock_FormClosing(object sender, FormClosingEventArgs e)
  389.        {
  390.            e.Cancel=false;
  391.        }
  392.  
  393.  
  394.        private void button1_Click_1(object sender, EventArgs e)
  395.        {
  396.            int cant = 0;
  397.            if (Existe())
  398.                MessageBox.Show("INGRESO LA UBICACION MAS DE UNA VEZ", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  399.            else
  400.            {
  401.                MessageBox.Show("NO SE ENCONTRARON UBICACIONES REPETIDAS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  402.                dgv1.DefaultCellStyle.ForeColor = Color.Black;
  403.            }
  404.            bool incompleto = (from row in dgv1.Rows.Cast<DataGridViewRow>()
  405.                               from cell in row.Cells.Cast<DataGridViewCell>()
  406.                               where string.IsNullOrEmpty(cell.Value.ToString())
  407.                               select row).Any();
  408.            if (incompleto)
  409.            {
  410.                MessageBox.Show("FALTAN COMPLETAR DATOS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  411.            }
  412.            else
  413.            {
  414.                MessageBox.Show("DATOS COMPLETOS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  415.                cant++;
  416.            }
  417.            if (cant != 0)
  418.                btnGuardar.Enabled = true;
  419.  
  420.  
  421.        }
  422.  
  423.  
  424.  
  425.  
  426.  
  427.    }
  428. }
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
14  Programación / .NET (C#, VB.NET, ASP) / validar dato duplicado en columna de datagridview en: 16 Julio 2015, 06:23 am
buenas noches gente del foro.....verán tengo esta línea de código en el que no m dejaba ingresar a un datagrid un nombre que ya estuviera...ahora debo implementarlo en otro caso de uso....en el cual al presionar un botón m tiene q validar y decir q se esta repitiendo  el dato en una columna(solo en esa columna) esperon m puedan ayudar....grax d antemano
Código
  1. bool existe = dgv.Rows.Cast<DataGridViewRow>().Any(x => Convert.ToInt32(x.Cells["Column1"].Value) == numMedic);
15  Programación / .NET (C#, VB.NET, ASP) / agregar columnas al datagrid en tiempo de ejecucion en: 1 Julio 2015, 02:17 am
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
  1. private void textBox1_KeyDown(object sender, KeyEventArgs e)
  2.        {
  3.            if (e.KeyCode == Keys.Enter)
  4.            {
  5.  
  6.                if (txtNumero.Text == "")
  7.                {
  8.  
  9.                    DialogResult ds = MessageBox.Show("DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  10.                    this.Text = ds.ToString();
  11.                }
  12.                else
  13.                    if (txtNumero.Text != "")
  14.                    {
  15.                        conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
  16.                        conexion.Open();
  17.                        SqlCommand consulta = new SqlCommand("select count (*) from DetalleOrdenCompra where codigoOrden=@codigo", conexion);
  18.                        consulta.Parameters.AddWithValue("@codigo", Convert.ToInt32(txtNumero.Text));
  19.  
  20.                        int count = Convert.ToInt32(consulta.ExecuteScalar());
  21.  
  22.  
  23.                        if (count > 0)
  24.                        {
  25.  
  26.                            DialogResult result = MessageBox.Show(this, "DESEA REGISTRAR LOS DATOS?", "ORDEN DE COMPRA ENCONTRADA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
  27.  
  28.  
  29.  
  30.                            //MessageBox.Show(consulta2.ToString());
  31.                            this.Text = result.ToString();
  32.  
  33.                            if (result == DialogResult.OK)
  34.                            {
  35.  
  36.                                //CARGAR LOS DATAGRIDVIEW
  37.                                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);
  38.                                consulta2.Parameters.AddWithValue("@codigo", Convert.ToInt32(txtNumero.Text));
  39.                                SqlDataAdapter da = new SqlDataAdapter(consulta2);
  40.                                DataTable dt = new DataTable();
  41.                                da.Fill(dt);
  42.                                //dgv1.AutoGenerateColumns = false;
  43.                                dgv1.DataSource = dt;
  44.  
  45.                                dgv1.Columns[0].HeaderText = "CODIGO";
  46.                                dgv1.Columns[0].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  47.                                dgv1.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  48.                                dgv1.Columns[0].Width = 60;
  49.                                dgv1.Columns[1].HeaderText = "MEDICAMENTO";
  50.                                dgv1.Columns[1].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  51.                                dgv1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  52.                                dgv1.Columns[1].Width = 211;
  53.                                dgv1.Columns[2].HeaderText = "CANTIDAD";
  54.                                dgv1.Columns[2].HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter;
  55.                                dgv1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter;
  56.                                dgv1.Columns[2].Width = 80;
  57.  
  58.  
  59.  
  60.                                txtNumero.Enabled = false;
  61.                            }
  62.                            else if (result == DialogResult.Cancel)
  63.                            {
  64.  
  65.                                txtNumero.Text = "";
  66.  
  67.                            }
  68.  
  69.                            this.Text = result.ToString();
  70.  
  71.  
  72.                        }
  73.                        else
  74.                        {
  75.  
  76.                            DialogResult ds = MessageBox.Show(this, "LA ORDEN INGRESADA NO SE ENCUENTRA REGISTRADA", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  77.                            this.Text = ds.ToString();
  78.  
  79.                        }
  80.  
  81.                        conexion.Close();
  82.  
  83.                    }
16  Programación / .NET (C#, VB.NET, ASP) / consulta sobre proyecto en c# en: 7 Junio 2015, 05:45 am
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!!
17  Programación / .NET (C#, VB.NET, ASP) / barcode en picture en: 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
  1. private void GenerateBacode(string _data,string _file)
  2.        {
  3.            _data = "2345";
  4.  
  5.            Linear barcode = new Linear();
  6.            barcode.Type = BarcodeType.CODE128;
  7.            barcode.Data = _data;
  8.            barcode.drawBarcode();
  9.  
  10.        }
18  Programación / .NET (C#, VB.NET, ASP) / validar registro de datagrid en: 1 Junio 2015, 05:04 am
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
  1. private void button1_Click(object sender, EventArgs e)
  2.        {
  3.            if (txtCantidad.Text == "" || txtPrograma.Text == "" || txtPrecio.Text == "")
  4.            {
  5.  
  6.                DialogResult ds = MessageBox.Show(this, "DEBE COMPLETAR TODOS LOS CAMPOS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  7.                this.Text = ds.ToString();
  8.  
  9.            }
  10.            else
  11.  
  12.                if (txtCantidad.Text != "" || txtPrograma.Text != "" || txtPrecio.Text != "")
  13.                {
  14.  
  15.                    int numero = int.Parse(txtNumero.Text);
  16.                    string medicamento = comboMedicamento.Text;
  17.                    int cantidad = int.Parse(txtCantidad.Text);
  18.                    string programa = txtPrograma.Text;
  19.                    float precio = float.Parse(txtPrecio.Text);
  20.                    int numMedic = int.Parse(comboMedicamento.SelectedValue.ToString());
  21.                    bool existe = dgv.Rows.Cast<DataGridViewRow>().Any(x => Convert.ToInt32(x.Cells["Column7"].Value) == numMedic);
  22.  
  23.                    if (existe)
  24.                    {
  25.  
  26.                        MessageBox.Show(this, "MEDICAMENTO YA CARGADO", "ATENCION", MessageBoxButtons.OK);
  27.  
  28.                    }
  29.                    else
  30.                    {
  31.                        if (!existe)
  32.                        {
  33.                            dgv.Rows.Add(numMedic, medicamento, cantidad, programa, precio, cantidad * precio, numero);
  34.                            button2.Enabled = true;
  35.                            button3.Enabled = true;
  36.                            txtCantidad.Text = "";
  37.                            txtPrecio.Text = "";
  38.                            txtPrograma.Text = "";
  39.                        }
  40.                    }
  41.                }
  42.  
  43.        }
19  Programación / .NET (C#, VB.NET, ASP) / autocomplete en textbox c# en: 26 Mayo 2015, 06:06 am
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
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace RegistrarOCspp2
  11. {
  12.    public partial class RegistrarOrden : Form
  13.    {
  14.        public RegistrarOrden()
  15.        {
  16.            InitializeComponent();
  17.  
  18.        }
  19.  
  20.        private void studioButton2_Click(object sender, EventArgs e)
  21.        {
  22.            this.Close();
  23.        }
  24.  
  25.        private void RegistrarOrden_Load(object sender, EventArgs e)
  26.        {
  27.            // TODO: esta línea de código carga datos en la tabla 'proyectoSaludDataSet7.medicamentos1' Puede moverla o quitarla según sea necesario.
  28.            this.medicamentos1TableAdapter.Fill(this.proyectoSaludDataSet7.medicamentos1);
  29.  
  30.        }
  31.  
  32.        private static void OnlyNumber(KeyPressEventArgs e, bool isdecimal)
  33.        {
  34.            String aceptados;
  35.            if (!isdecimal)
  36.            {
  37.                aceptados = "0123456789," + Convert.ToChar(8);
  38.            }
  39.            else
  40.                aceptados = "0123456789." + Convert.ToChar(8);
  41.  
  42.            if (aceptados.Contains("" + e.KeyChar))
  43.            {
  44.                e.Handled = false;
  45.            }
  46.            else
  47.            {
  48.                e.Handled = true;
  49.            }
  50.        }
  51.  
  52.        private void txtUnidad_KeyPress(object sender, KeyPressEventArgs e)
  53.        {
  54.  
  55.            if (!Char.IsNumber(e.KeyChar) && e.KeyChar != (char)8)
  56.            {
  57.  
  58.                e.Handled = true;
  59.                OnlyNumber(e, false);
  60.  
  61.            }
  62.        }
  63.  
  64.        private void textBox3_KeyPress(object sender, KeyPressEventArgs e)
  65.        {
  66.  
  67.            if (!Char.IsNumber(e.KeyChar) && e.KeyChar != (char)8)
  68.            {
  69.  
  70.                e.Handled = true;
  71.                OnlyNumber(e, false);
  72.  
  73.            }
  74.        }
  75.  
  76.        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
  77.        {
  78.            if (char.IsDigit(e.KeyChar))
  79.                e.Handled = false;
  80.            else if (char.IsControl(e.KeyChar))
  81.                e.Handled = false;
  82.            else if (char.IsSeparator(e.KeyChar))
  83.                e.Handled = false;
  84.            else
  85.                e.Handled = true;
  86.        }
  87.  
  88.  
  89.        private void textBox1_Click(object sender, EventArgs e)
  90.        {
  91.            System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
  92.            ToolTip1.SetToolTip(this.txtNumero, "Ejemplo: 2290");
  93.            txtCantidad.Enabled = true;
  94.  
  95.        }
  96.  
  97.        private void button1_Click(object sender, EventArgs e)
  98.        {
  99.            if (txtCantidad.Text == "" || txtPrograma.Text == "" || txtPrecio.Text == "")
  100.            {
  101.  
  102.                DialogResult ds = MessageBox.Show(this, "DEBE COMPLETAR TODOS LOS CAMPOS", "ATENCION", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  103.                this.Text = ds.ToString();
  104.  
  105.            }
  106.            else
  107.  
  108.                if (txtCantidad.Text != "" || txtPrograma.Text != "" || txtPrecio.Text != "")
  109.                {
  110.  
  111.  
  112.                    string medicamento = comboMedicamento.Text;
  113.                    int cantidad = int.Parse(txtCantidad.Text);
  114.                    string programa = txtPrograma.Text;
  115.                    float precio = float.Parse(txtPrecio.Text);
  116.                    dgv.Rows.Add(medicamento, cantidad, programa, precio, cantidad * precio);
  117.                    button3.Enabled = true;
  118.  
  119.  
  120.                }
  121.  
  122.        }
  123.  
  124.        private void button4_Click(object sender, EventArgs e)
  125.        {
  126.            this.Close();
  127.        }
  128.  
  129.  
  130.        private void button3_Click(object sender, EventArgs e)
  131.        {
  132.  
  133.  
  134.            int fila = dgv.CurrentRow.Index;
  135.            if (fila == 0)
  136.                button3.Enabled = false;
  137.            dgv.Rows.RemoveAt(fila);
  138.  
  139.  
  140.  
  141.        }
  142.  
  143.  
  144.  
  145.  
  146.  
  147.    }
  148. }
  149.  
20  Programación / .NET (C#, VB.NET, ASP) / problema al eliminar y agregar registros d radGridView en: 5 Mayo 2015, 01:03 am
slds gente dl foro.....verán en el sig código tengo q hcer una modificación en una base d datos...primero hgo la consulta del nro de orden y m trae los datos d esa orden al radGridView....el problema es que no puedo eliminar algún renglón d ese radGrid y tampoco añadirles....m salta un error q es d solo lectura (y ya cambie la propiedad ReadOnly) y para agregar filas RadListSource necesito un constructor sin parámetros para System.Data.DataRowView....debo hcr algo en la datatable? muchas grax d antemano
Código
  1. [/using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Data.SqlClient;
  10. using Telerik.WinControls;
  11. using Telerik.WinControls.UI;
  12.  
  13. namespace RegistrarOCspp2
  14. {
  15.    public partial class ModificarOCspp2 : Form
  16.    {
  17.        public ModificarOCspp2()
  18.        {
  19.            InitializeComponent();
  20.        }
  21.        private SqlConnection conexion;
  22.        private SqlDataAdapter adaptador;
  23.  
  24.        private void ModificarOCspp2_Load(object sender, EventArgs e)
  25.        {
  26.            // TODO: esta línea de código carga datos en la tabla 'proyectoSaludDataSet5.medicamentos1' Puede moverla o quitarla según sea necesario.
  27.            this.medicamentos1TableAdapter1.Fill(this.proyectoSaludDataSet5.medicamentos1);
  28.            // TODO: esta línea de código carga datos en la tabla 'proyectoSaludDataSet4.medicamentos1' Puede moverla o quitarla según sea necesario.
  29.            this.medicamentos1TableAdapter.Fill(this.proyectoSaludDataSet4.medicamentos1);
  30.            conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
  31.            adaptador = new SqlDataAdapter();
  32.        }
  33.  
  34.        private void radButton1_Click(object sender, EventArgs e)
  35.        {
  36.            conexion = new SqlConnection("Data Source=GONZALOCABRERA\\SQLEXPRESS;Initial Catalog=ProyectoSalud;Integrated Security=True");
  37.            if (txtNro.Text == "")
  38.            {
  39.                RadMessageBox.SetThemeName("ATENCION");
  40.                DialogResult ds = RadMessageBox.Show(this, "DEBE INGRESAR UN NRO DE ORDEN", "ATENCION", MessageBoxButtons.OK, RadMessageIcon.Exclamation);
  41.                this.Text = ds.ToString();
  42.            }
  43.            else
  44.                if (txtNro.Text != "")
  45.                {
  46.                    conexion.Open();
  47.                    SqlCommand consulta = new SqlCommand("select Convert(varchar(10),fecIni,103) as fecIni ,Convert(Varchar(10),fecFin,103) as fecFin from ordenes where nro_orden=@nro", conexion);
  48.                    consulta.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNro.Text));
  49.                    SqlDataReader registro = consulta.ExecuteReader();
  50.  
  51.                    if (registro.Read())
  52.  
  53.                    {
  54.                        rdt1.Enabled = true;
  55.                        rdt2.Enabled = true;
  56.                        txtCant.Enabled = true;
  57.                        txtPrecio.Enabled = true;
  58.                        txtProg.Enabled = true;
  59.                        comboMed.Enabled = true;
  60.                        radButton3.Enabled = true;
  61.                        rdt1.Text = Convert.ToString(registro["fecIni"]);
  62.                        rdt2.Text = Convert.ToString(registro["fecFin"]);
  63.                        radButton5.Enabled = true;
  64.  
  65.                    }
  66.                    else
  67.                    {
  68.                        RadMessageBox.SetThemeName("ATENCION");
  69.                        DialogResult ds = RadMessageBox.Show(this, "LA ORDEN INGRESADA NO SE ENCUENTRA REGISTRADA", "ATENCION", MessageBoxButtons.OK, RadMessageIcon.Exclamation);
  70.                        this.Text = ds.ToString();
  71.  
  72.                    }
  73.  
  74.            conexion.Close();
  75.  
  76.            conexion.Open();
  77.            SqlCommand consulta2 = new SqlCommand("SELECT dbo.DetalleOrden.medicamento, dbo.DetalleOrden.cantidad, dbo.DetalleOrden.programa, dbo.DetalleOrden.precioUnit,dbo.DetalleOrden.precioFinal FROM dbo.ordenes INNER JOIN dbo.DetalleOrden ON dbo.ordenes.nro_orden = dbo.DetalleOrden.nro_orden WHERE (dbo.ordenes.nro_orden = @nro)", conexion);
  78.            consulta2.Parameters.AddWithValue("@nro", Convert.ToInt32(txtNro.Text));
  79.            SqlDataReader registro2 = consulta2.ExecuteReader();
  80.            DataTable dt = new DataTable();
  81.            dt.Columns.Add("1");
  82.            dt.Columns.Add("2");
  83.            dt.Columns.Add("3");
  84.            dt.Columns.Add("4");
  85.            dt.Columns.Add("5");
  86.            while(registro2.Read())
  87.            {
  88.                dt.Rows.Add(registro2["medicamento"], registro2["cantidad"], registro2["programa"], registro2["precioUnit"], registro2["precioFinal"]);
  89.            }
  90.  
  91.            adaptador = new SqlDataAdapter(consulta2);
  92.  
  93.  
  94.            rgv.Columns[0].FieldName = "1";
  95.            rgv.Columns[1].FieldName = "2";
  96.            rgv.Columns[2].FieldName = "3";
  97.            rgv.Columns[3].FieldName = "4";
  98.            rgv.Columns[4].FieldName = "5";
  99.  
  100.            rgv.DataSource = dt.DefaultView.AsParallel();
  101.  
  102.  
  103.  
  104.            conexion.Close();
  105.  
  106.            }
  107.  
  108.  
  109.        }
  110.  
  111.        private void radButton4_Click(object sender, EventArgs e)
  112.        {
  113.            DialogResult result = RadMessageBox.Show(this, "SEGURO QUE DESEA SALIR?", "SALIR", MessageBoxButtons.OKCancel);
  114.            RadMessageBox.SetThemeName("ATENCION");
  115.            this.Text = result.ToString();
  116.  
  117.            if (result == DialogResult.OK)
  118.            {
  119.                ConsultarOCspp2 c = new ConsultarOCspp2();
  120.                this.Close();
  121.            }
  122.            else if (result == DialogResult.Cancel)
  123.            {
  124.  
  125.            }
  126.        }
  127.  
  128.        private void radButton5_Click(object sender, EventArgs e)
  129.        {
  130.            foreach (GridViewRowInfo row in rgv.SelectedRows)
  131.            {
  132.                rgv.Rows.Remove(row);
  133.            }
  134.        }
  135.  
  136.        private void radButton2_Click(object sender, EventArgs e)
  137.        {
  138.  
  139.        }
  140.        private void radButton3_Click_1(object sender, EventArgs e)
  141.        {
  142.            if (txtCant.Text == "" || txtProg.Text == "" || txtPrecio.Text == "")
  143.            {
  144.                RadMessageBox.SetThemeName("ATENCION");
  145.                DialogResult ds = RadMessageBox.Show(this, "DEBE COMPLETAR TODOS LOS CAMPOS", "ATENCION", MessageBoxButtons.OK, RadMessageIcon.Exclamation);
  146.                this.Text = ds.ToString();
  147.  
  148.            }
  149.            else
  150.  
  151.                if (txtCant.Text != "" || txtProg.Text != "" || txtPrecio.Text != "")
  152.                {
  153.  
  154.                    string medicamento = comboMed.Text;
  155.                    int cantidad = int.Parse(txtCant.Text);
  156.                    string programa = txtProg.Text;
  157.                    float precio = float.Parse(txtPrecio.Text);
  158.                    rgv.Rows.Add(medicamento, cantidad, programa, precio, cantidad * precio);
  159.                    radButton5.Enabled = true;
  160.  
  161.                }
  162.        }
  163.  
  164.               }
  165.    }code]
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines