COPIAR UMA LINHA DO DATAGRIDVIEW PARA OUTRA

 Tópico anterior Próximo tópico Novo tópico

COPIAR UMA LINHA DO DATAGRIDVIEW PARA OUTRA

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#485589 - 26/11/2018 22:14:17

ELMO01
BELO HORIZONTE
Cadast. em:Agosto/2004


Última edição em 26/11/2018 22:15:54 por ELMO01

 Anexos estao visíveis somente para usuários registrados

Pessoal, quero fazer uma cópia dos valores de uma linha do datagridview para outra mais tendo um filtro de acordo com o dia da semana selecionado como mostra na figura acima.
Como posso fazer isso?

Obrigado.


elmo

#485594 - 27/11/2018 01:13:27

JABA
CABO FRIO
Cadast. em:Agosto/2005


Montei algo aqui manualmente só pra te dar uma luz mesmo, certamente contém muitos erros.
Você pode criar uma função que retorne um valor para cada dia da semana. Ex:

public function GetDia(dia as string) as integer

    if dia = "Domingo" return 1
    if dia = "Segunda" return 2
    ...

end function


No click da combobox você pode fazer uma outra verificação para cada item dela. Ex:

if cboCopiarHorarios.Text = "de Segunda até Sexta" then

    for i as integer = 0 to grid.rows.count - 1

       if Getdia(grid.rows(i).cells(0)) >= 2 andAlso Getdia(grid.rows(i).cells(0) <= 6) then
        'copia linha
       end if

         next  
end if


if cboCopiarHorarios.Text = "de Segunda até Quinta" then

    for i as integer = 0 to grid.rows.count - 1

       if Getdia(grid.rows(i).cells(0)) >= 2 andAlso Getdia(grid.rows(i).cells(0) <= 5) then
        'copia linha
       end if

         next  
end if

etc.

                        

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#485596 - 27/11/2018 07:34:53

ELMO01
BELO HORIZONTE
Cadast. em:Agosto/2004


JABA bom dia

Agradeço por ter respondido, mais o meu problema não é na seleção dos dias da semana, pois ai posso fazer um SELECT mais sim de como copiar a linha de cima para as demais linha.

Obrigado.

elmo

#485608 - 27/11/2018 10:28:07

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Se você está preenchendo o grid com uma fonte de dados(DataBind, List<T> ou similar), basta selecionar os ítens em que o checkbox está selecionado, mais ou menos assim:

List<Coisa> gridDados = (List<Coisa)MeuGrid.DataSource;
List<Coisa> dadosSelecionados = gridDados.Where(x => x.CampoDSR);

OutroGrid.DataSource = dadosSelecionados;


_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#485609 - 27/11/2018 11:46:03

ELMO01
BELO HORIZONTE
Cadast. em:Agosto/2004


Última edição em 27/11/2018 11:47:10 por ELMO01

 Anexos estao visíveis somente para usuários registrados

KERPLUNK, não preencho o meu grid com nenhuma fonte de dados, os dados são fornecidos quando o operador está populando o grid, ou seja, quando operador digitar a primeira linha do grid, ele vai ter a opção de copiar todo o conteúdo da primeira linha para as outras ou não,  e assim em diante até o final das linhas do grid.

Exemplo
                 Col 03   Col. 04   Col 05   Col 06
Linha 3 -> 08:00    12:00      14:00    18:00
Linha 4 ->                                                      Se a linha 4, coluna 3 estiver em branco o sistema vai pegar os valores da linha acima e colocar na linha abaixo
Linha 4 -> 08:00    12:00      14:00    18:00

e assim em diante até no máximo de 5 linhas

Para economizar tempo, fiz uma matriz com o conteúdo da linha digitada e quando o sistema encontrar uma linha e coluna que esteja em braco ou vazia, ele vai procurar o valor correspondente na matriz e gravar na linha e coluna correspondente.




elmo

#485611 - 27/11/2018 12:17:22

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe
KERPLUNK

Nosso colega ELMO escolheu ir pelo caminhos das pedras, essa luta tá perdida. kkkkkk



#485614 - 27/11/2018 13:55:25

ELMO01
BELO HORIZONTE
Cadast. em:Agosto/2004


Última edição em 27/11/2018 13:55:56 por ELMO01

CLEVERTON algumas coisa sem trabalho não tem graça, o mais gostoso é quando você tem um desafio e consegue superá-lo com calma e paciência.


elmo

#485625 - 27/11/2018 15:54:29

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe

Última edição em 27/11/2018 16:01:26 por CLEVERTON

ELMO01


A questão não é ter trabalho, é vc ter um código mais limpo, padronizado e eficaz.
é tipo querer usar um martelo e ponteiro quando se tem uma furadeira elétrica, Sua produtividade e precisão vai cair muito.




#485626 - 27/11/2018 15:58:26

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe
Vou só te dar outro exemplo, Da forma que vc está fazendo, se vc mudar o nome ou excluir alguma célula, não tem como o compilador pegar esse erro, só vai ser descoberto rodando no cliente.

Mas cada cabeça um mundo, desde o inicio desse seu grid vc poderia montar a coisa de uma forma muito mais fácil. mas prefere optar pelo que funcionou.



#485628 - 27/11/2018 17:09:29

ELMO01
BELO HORIZONTE
Cadast. em:Agosto/2004


Última edição em 27/11/2018 17:10:11 por ELMO01

CLEVERTON

O nome das células e/ou colunas são campos fixos, não vou dar a opção para excluir ou alterar os campos fixos, só alguns campos que poderão ser alterados como as  horas inicial e final dentro do período. Já consegui fazer algumas coisa, tive que como você falou marretar algumas coisa mais deu certo, mais o que estou fazendo não vai servir para outras pessoas, pq como falei são campos fixos dentro do sistema.


elmo

#485645 - 28/11/2018 11:41:29

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Citação:
Se você está preenchendo o grid com uma fonte de dados(DataBind, List<T> ou similar), basta selecionar os ítens em que o checkbox está selecionado, mais ou menos assim:

List<Coisa> gridDados = (List<Coisa)MeuGrid.DataSource;
List<Coisa> dadosSelecionados = gridDados.Where(x => x.CampoDSR);

OutroGrid.DataSource = dadosSelecionados;  


Mesmo que não tiver usando uma fonte de dados, dá pra fazer uma List<> com as strings, não dá? Aí, trabalhando com objetos não seria mais fácil?

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário