none
coletar e comparar valores de colunas no datagridview RRS feed

  • Pergunta

  • olá pessoal!

    tenho um datagridview numa aplicação c# , que será alimentado pelo usuário. possui, entre outras, uma coluna para marcar uma quantidade minima e uma quantidade atual.

    no programa, preciso coletar dados dessas duas colunas, comparar os dados, e entao exibir, numa outra coluna desse mesmo datagrid, se tal produto está em falta no estoque.

    estou programando no visual studio 2012, com c#.

    obrigada desde ja! ^-^

    terça-feira, 3 de junho de 2014 12:13

Respostas

  • Maria, analisando a sua necessidade, não seria mais interessante você já apresentar ao usuário a quantidade máxima de itens em estoque? 

    Assim você não necessitaria efetuar uma validação apenas para efetuar tal verificação. 

    E com isso você poderia incluir um item apenas informando que a quantidade exibida é a disponível em estoque, e que se ele desejar uma quantidade maior que a informada para entrar em contato. 

    É uma dica, que ao meu ver, facilitaria seu trabalho, seria menos funcional para o servidor e a interatividade com o usuário ficaria mais interessante. 

    Caso não, faça como o Dicon poste o código. 

    Até.


    terça-feira, 3 de junho de 2014 14:18
  • Maria, boa tarde, verifica se isso te ajuda...se não for, nos avise assim poderemos te ajudar melhor!!!

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                Teste();
            }
    
            List<Pessoa> pessoas = new List<Pessoa>();
            void Teste()
            {          
                Pessoa pessoa = new Pessoa();
                pessoa.Id = 1;
                pessoa.Nome = "Diego";
                pessoa.Salario = 1000;
                pessoa.Abono = 30;
                pessoas.Add(pessoa);
    
                Pessoa pessoa2 = new Pessoa();
                pessoa2.Id = 2;
                pessoa2.Nome = "Raquel";
                pessoa2.Salario = 950;
                pessoa2.Abono = 80;
                pessoas.Add(pessoa2);
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                DataGridViewColumn coluna = new DataGridViewColumn();
                coluna.Name = "colSomaGanho";
                coluna.ReadOnly = true;
                coluna.HeaderText = "Soma Ganho";
                coluna.CellTemplate = new DataGridViewTextBoxCell();
                dataGridView1.Columns.Add(coluna);
                dataGridView1.DataSource = pessoas;
    
                for (int i = 0; i < dataGridView1.RowCount; i++)
                {
                    int valor = (int)dataGridView1.Rows[i].Cells[3].Value + (int)dataGridView1.Rows[i].Cells[4].Value;
                    dataGridView1.Rows[i].Cells["colSomaGanho"].Value = valor;
                }
            }
    
    
           
    
            
        }
    
    
        public class Pessoa
        {
            private int id;
    
            public int Id
            {
                get { return id; }
                set { id = value; }
            }
    
            private string nome;
    
            public string Nome
            {
                get { return nome; }
                set { nome = value; }
            }
    
            private int salario;
    
            public int Salario
            {
                get { return salario; }
                set { salario = value; }
            }
    
            private int abono;
    
            public int Abono
            {
                get { return abono; }
                set { abono = value; }
            }
    
        }
    }


    terça-feira, 3 de junho de 2014 16:16

Todas as Respostas

  • codigo que está utilizando para popular o datagridview?
    terça-feira, 3 de junho de 2014 13:59
  • Maria, analisando a sua necessidade, não seria mais interessante você já apresentar ao usuário a quantidade máxima de itens em estoque? 

    Assim você não necessitaria efetuar uma validação apenas para efetuar tal verificação. 

    E com isso você poderia incluir um item apenas informando que a quantidade exibida é a disponível em estoque, e que se ele desejar uma quantidade maior que a informada para entrar em contato. 

    É uma dica, que ao meu ver, facilitaria seu trabalho, seria menos funcional para o servidor e a interatividade com o usuário ficaria mais interessante. 

    Caso não, faça como o Dicon poste o código. 

    Até.


    terça-feira, 3 de junho de 2014 14:18
  • Maria, boa tarde, verifica se isso te ajuda...se não for, nos avise assim poderemos te ajudar melhor!!!

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                Teste();
            }
    
            List<Pessoa> pessoas = new List<Pessoa>();
            void Teste()
            {          
                Pessoa pessoa = new Pessoa();
                pessoa.Id = 1;
                pessoa.Nome = "Diego";
                pessoa.Salario = 1000;
                pessoa.Abono = 30;
                pessoas.Add(pessoa);
    
                Pessoa pessoa2 = new Pessoa();
                pessoa2.Id = 2;
                pessoa2.Nome = "Raquel";
                pessoa2.Salario = 950;
                pessoa2.Abono = 80;
                pessoas.Add(pessoa2);
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                DataGridViewColumn coluna = new DataGridViewColumn();
                coluna.Name = "colSomaGanho";
                coluna.ReadOnly = true;
                coluna.HeaderText = "Soma Ganho";
                coluna.CellTemplate = new DataGridViewTextBoxCell();
                dataGridView1.Columns.Add(coluna);
                dataGridView1.DataSource = pessoas;
    
                for (int i = 0; i < dataGridView1.RowCount; i++)
                {
                    int valor = (int)dataGridView1.Rows[i].Cells[3].Value + (int)dataGridView1.Rows[i].Cells[4].Value;
                    dataGridView1.Rows[i].Cells["colSomaGanho"].Value = valor;
                }
            }
    
    
           
    
            
        }
    
    
        public class Pessoa
        {
            private int id;
    
            public int Id
            {
                get { return id; }
                set { id = value; }
            }
    
            private string nome;
    
            public string Nome
            {
                get { return nome; }
                set { nome = value; }
            }
    
            private int salario;
    
            public int Salario
            {
                get { return salario; }
                set { salario = value; }
            }
    
            private int abono;
    
            public int Abono
            {
                get { return abono; }
                set { abono = value; }
            }
    
        }
    }


    terça-feira, 3 de junho de 2014 16:16