Rafa 1850 0 Denunciar post Postado Novembro 6, 2009 Olá caros! gostaria de aprender a mudar a ordem de exibição das palavras dentro de uma combobox exemplo: meu sistema possui produtos com Numero ID seguido de seu nome na combobox ele mostra o ID - Nome ex: 000120 - Fitas Adesivas eu criei um botão M Ord que seria o Muda Ordem. entao ao clicar no mesmo a combo exibiria ao envez de ID - NOME seria Nome - ID uma foto do sistema para ficar mais claro. grande abraço, Rafa Compartilhar este post Link para o post Compartilhar em outros sites
roberto182 0 Denunciar post Postado Novembro 10, 2009 Como sou fã de regular expressions... Segue uma solução com ela: List<string> Lista = new List<string>(); Lista.Add("000120 - Fitas Adesivas"); Lista.Add("000120 - Fitas Adesivas"); Lista.Add("000120 - Fitas Adesivas"); Lista.Add("000120 - Fitas Adesivas"); List<string> Lista2 = new List<string>(); foreach (string s in Lista) { // Definimos o padrão que será: um ou mais números // Depois um espaço em branco um traço e outro espaço // E por fim um ou mais caracteres. Regex exp = new Regex(@"^(?<id>\d+) - (?<nome>.+)"); // Recuperamos os valores que estão de acordo com a expressão. var valores = exp.Match(s); // Formatamos o resultado. Lista2.Add(string.Format("{0} - {1}", valores.Groups["nome"].Value, valores.Groups["id"].Value)); } Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Novembro 12, 2009 Obrigado camarada! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Novembro 12, 2009 Problema resolvido? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Novembro 13, 2009 sim [resolvido] o codigo do evento click ficou assim: Private Sub btnMudaOrdem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMudaOrdem.Click Dim cldCombos As New cldCombos cldCombos.Tabela = "Produtos" cldCombos.Índice = "id" If ChecaOrdem = False Then cldCombos.Campo = "Descricao & ' - ' & Codigo as Nome" cldCombos.sOrder = "Descricao" ChecaOrdem = True ' Exit Sub Else cldCombos.Campo = "Codigo & ' - ' & Descricao as Nome" cldCombos.sOrder = "Codigo" ChecaOrdem = False End If cldCombos.NomeDisplay = "Nome" cldCombos.sWhere = "" cldCombos.cmb = cmbProdutos cldCombos.CarregaComboSimplesÍndiceComposto(False) End Sub A ideia foi criar uma variavel checa ordem onde a mesma eh boolean entao se ela for falso eu passo pra classe parametros da query com uma ordem A e defino a variavel checa ordem como true e se for true passo parametros com query em ordem B e a defino como false entao sempre que clico ela inverte a ordem por fazer querys de ordens diferentes eh uma solução grande/? talvez seja, mas foi a que pensei e funciona. RSRS acho q todos que verem esse topico entenderão a solução grande abraço, Rafa Compartilhar este post Link para o post Compartilhar em outros sites