none
Converter String em items de ListBox RRS feed

  • Pergunta

  • Boas, num aplicativo que estou a criar, coloquei uma opção onde o utilizador escrever o nome de componentes numa textbox e ao clicar num botão esse nome é adicionado numa listbox e ao mesmo tempo numa <List>.

    Depois converto a <List> numa string e guardo numa base de dados... até aqui tudo OK.

    O problema é que preciso que seja possível alterar os items e quero que quando o utilizador clique em alterar o programa converta a string que guardei para a ListBox... ou seja quero que fique com a seguinte formatação:

    Monitor

    Teclado

    Rato

    ...

    Como posso fazer isto?

    Cumprimentos,

    D3POD

    domingo, 10 de maio de 2015 19:57

Respostas

  • Cara para tratar string separando tem que se utilizar o método split().

    O retorno deste método é um array, com o número de casas igual a quantas correspondências ele encontrou na sua string.

    Exemplo:

    string palavrasJuntas = "Mouse Teclado Monitor";
    
    string[] palavrasSeparadas = palavrasJuntas.Split(" ");
    
    // string[0] = Mouse
    // string[1] = Teclado
    // string[2] = Monitor

    Acredito que com esse método você consegue resolver este problema.

    {}s

    • Marcado como Resposta D3POD terça-feira, 12 de maio de 2015 07:56
    segunda-feira, 11 de maio de 2015 20:22

Todas as Respostas

  • Como você está guardando a lista no bd?

    Natan

    domingo, 10 de maio de 2015 20:44
  • De momento não estou a guardar s listbox... estou a fazer pelo seguinte código:

    List<string> acessorio = new List<string>();
    acessorio.Add(txt_acessorios.Text);
    list_acessorios.Items.Add(txt_acessorios.Text);
    acessorios += String.Join("/", acessorio.ToArray());
    txt_acessorios.Text = "";

    Mas já estou a alterar o código, porque não preciso de uma LIST, basicamente vou passar ao acessórios diretamente da ListBox e não da LIST

    domingo, 10 de maio de 2015 20:57
  • Se você quiser colocar os itens agrupados em uma lista, utilize a função split

    List<string> novoArray = acessorios.Split('/').ToList();


    Natan

    domingo, 10 de maio de 2015 22:55
  • Obrigado... e se eu quiser separar por linha?

    segunda-feira, 11 de maio de 2015 08:02
  • Bom dia,

    Não entendi o que você quis dizer com separar por linha. Da forma que o Natan disse, você está separando os itens através do caractere "/", dessa forma salvando vários itens na sua lista. Com esses itens, pode se considerar que cada item é uma linha.

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    segunda-feira, 11 de maio de 2015 10:38
  • Basicamente o que pretendo é o seguinte:

    Teclado

    (noutra linha) Rato

    (noutra linha) monitor


    Isto porque eu vou precisar que o utilizador possa eliminar um item ou vários... e queria que estivessem separados para melhor perceção
    • Editado D3POD segunda-feira, 11 de maio de 2015 15:28
    segunda-feira, 11 de maio de 2015 15:27
  • Amigo ta meio confuso a descrição mas se entendi você quer pegar uma string com várias palavras e tratar cada palavra como um elemento distinto. Nisso vai inserir cada elemento no banco e o usuário vai poder consultar, alterar ou deletar esses elementos depois.

    É isso mesmo?

    Se for, para receber e tratar é, como falaram acima, o uso do método split da classe String. Daí você irá registar uma string com todos os elementos da lista ou irá separar um registro por elemento? Tudo depende de como você quer que funcione. Se for uma string com lista, para exibir trate ela com split novamente populando seu ListBox. 

    Para mim o mais fácil seria você registrar elemento a elemento no banco, e deletar caso o usuário queira.

    segunda-feira, 11 de maio de 2015 16:08
  • Vou tentar explicar melhor...

    Tenho um form onde o utilizador tem:

    1 textbox

    2 botões (um delete e outro Add)

    1 ListBox

    Neste form o utilizador adiciona através do botão Add os valores da textbox para uma string e ao mesmo tempo para a Listbox... a listbox neste caso só serve para ele ver quais já adicionou...

    Num segundo form chamado Alterar o utilizador tem o mesmo esquema do form principal mas quero que apareça tudo na Listbox... como o que eu gravei foi uma string do tipo monitor/rato/teclado/processador

    O que eu quero é dividir essa string em

    Monitor

    Rato

    Teclado

    Processador

    Eu posso fazer isto de outra forma... só não sei como :P

    segunda-feira, 11 de maio de 2015 17:51
  • Cara para tratar string separando tem que se utilizar o método split().

    O retorno deste método é um array, com o número de casas igual a quantas correspondências ele encontrou na sua string.

    Exemplo:

    string palavrasJuntas = "Mouse Teclado Monitor";
    
    string[] palavrasSeparadas = palavrasJuntas.Split(" ");
    
    // string[0] = Mouse
    // string[1] = Teclado
    // string[2] = Monitor

    Acredito que com esse método você consegue resolver este problema.

    {}s

    • Marcado como Resposta D3POD terça-feira, 12 de maio de 2015 07:56
    segunda-feira, 11 de maio de 2015 20:22