none
Manipular celulas de um datagridview RRS feed

  • Pergunta

  • Olá pessoal

    Tenho um datagridview com 5 colunas e 9 linhas, tenho um botão que insere dados altomaticos ao grid. O meu problema é que gostaria que ele não adicionasse ou então avisasse quando ja existir uma celula com um valor igual na linha escolhida. Por exemplo

    Datagrid.rows[1].cells[1].value ="teste";

    Dai na datagrid.rows[1].cells[2].value.  não pode receber a palavra teste

    Obg desde ja quem puder ajudar

    segunda-feira, 2 de abril de 2018 17:29

Respostas

  • Olá, desculpa a demora em responder mas estava ocupado, é o seguinte, o que eu vejo de solução para esse problema é você fazer assim:
    1. após escolher o professor você deve armazenar o ID dele;
    2. após clicar no botão de adicionar o professor no grid você deverá realizar um foreach(GridViewRows Linha in SeuGrid.Rows), e verificar se o ID do professor escolhido está presente nas colunas do Grid. Caso esteja você pode manipulá-lo como quiser.

    Abs!


    Leandro de Agostini MCTS - Web Application, Framework 4

    sexta-feira, 6 de abril de 2018 12:06

Todas as Respostas

  • Olá, acredito que você deverá usar um loop do tipo FOR para resolver isso, tente o seguinte:
    var Parametro = "teste";
    for( int i = 0; i < DataGrid.rows.Count; i++)//Loop para passar todas as linhas do GRID
    {
    for( int c = 0; c < DataGrid.rows[i].cells.Count; c++)//Loop para passar todas as células de cada linha do GRID
    {
    if(Datagrid.rows[i].cells[c].value == Parametro)
    {
    MessageBox.Show("Dado Já Existente");
    break;
    }
    }
    }
    Desculpa se escrevi algo errado mas estou sem o VS para ajudar a montar esse código. Qualquer coisa coloque aqui o seu código para podermos ajudá-lo.
    Abs!



    Leandro de Agostini MCTS - Web Application, Framework 4

    segunda-feira, 2 de abril de 2018 23:59
  • Obg amigo.

    Mas ainda não resolveu meu problema. É que meu sistema está cruzando nomes igual na mesma linha.por exemplo.

    Para ser mais claro esse sistema gera horário escolar altomaticamente. Ent nas colunas tenho as turmas e nas linhas as aulas de 1 a 9. Dai na linha 1 não pode repetir o mesmo nome de professor em colunas diferentes. Obg desde ja

    terça-feira, 3 de abril de 2018 03:40
  • Olá, para poder ajudá-lo mais preciso saber, essas informações que preenchem o grid estão vindo do banco de dados ou está fixo na aplicação? Outra coisa quando você diz que tem um botão para adicionar as informações ao grid, você quer dizer que ele colocar as posições de horário aleatoriamente ou você faz alguma lógica para isso?
    De qualquer maneira se puder colocar o seu código aqui, com certeza poderemos ajudá-lo mais.

    Abs!

    Leandro de Agostini MCTS - Web Application, Framework 4

    terça-feira, 3 de abril de 2018 12:49
  • O sistema funciona da seguinte forma, eu cadastro o professor e a disciplina. Dai vou ate a tela de gerar horarios, nessa tela tenho 5 grids. Cada um de um dia da semana, em todos os grids vão ter como colunas as turmas da escola.

    Dai é o seguinte, eu escolho qual professor quero adicionar ao horário atraves de um comboBox que tem todo os professores carregados atraves do BD, após escolher o professor eu clico em um botão que vai adicionar o nome do professor na coluna 1 em uma celula aleatoria atráves do Random, até ai funciona beleza.

    Porém quando preencho todos as celulas da coluna 1 e vou pra coluna 2, eu gostaria que o sistema não adicionasse o mesmo professor duas vezes em celulas da mesma linha. Pq se não vai acontecer do professor ter horários cruzados em turmas diferentes. Obg desde ja

    quarta-feira, 4 de abril de 2018 02:47
  • Olá, desculpa a demora em responder mas estava ocupado, é o seguinte, o que eu vejo de solução para esse problema é você fazer assim:
    1. após escolher o professor você deve armazenar o ID dele;
    2. após clicar no botão de adicionar o professor no grid você deverá realizar um foreach(GridViewRows Linha in SeuGrid.Rows), e verificar se o ID do professor escolhido está presente nas colunas do Grid. Caso esteja você pode manipulá-lo como quiser.

    Abs!


    Leandro de Agostini MCTS - Web Application, Framework 4

    sexta-feira, 6 de abril de 2018 12:06