Avatar billede totalpc Seniormester
23. januar 2017 - 16:06 Der er 4 kommentarer og
1 løsning

Søg efter nummerisk værdi i gridview

Hej

Jeg har lavet en tekstboks hvor jeg kan søge i feltet navn i gridview. Det virker fint.
(KundeDB.DataSource as DataTable).DefaultView.RowFilter = ("Navn LIKE '{0}%'",textBox1.Text);

Men nu vil jeg også kunne søge i feltet Kontonr, som består af tal. Hvordan pokker laver jeg søgningen her?
Avatar billede keepy Seniormester
23. januar 2017 - 19:41 #1
string searchValue = textBox1.Text;
datagrid1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    try
    {
        foreach (DataGridViewRow row in datagrid1.Rows)
        {
            if (row.Cells[2].Value.ToString().Equals(searchValue))
            {
                row.Selected = true;
                break;
            }
        }
    }
Avatar billede totalpc Seniormester
25. januar 2017 - 10:32 #2
string searchValue = textBox1.Text;
datagrid1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    try
    {
        foreach (DataGridViewRow row in datagrid1.Rows)
        {
            if (row.Cells[2].Value.ToString().Equals(searchValue))
            {
                row.Selected = true;
                break;
            }
        }
    }

Jeg har forsøgt sådan her. Men der sker intet...
Avatar billede totalpc Seniormester
25. januar 2017 - 10:35 #3
Beklager...en copy/paste fejl. her er det jeg har forsøgt, men der sker absolut intet når jeg indtaster noget i feltet.       


private void textBox2_TextChanged(object sender, EventArgs e)
        {
            string searchValue = textBox2.Text;
            KundeDB.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            try
            {
                foreach (DataGridViewRow row in KundeDB.Rows)
                {
                    if (row.Cells[2].Value.ToString().Equals(searchValue))
                    { row.Selected = true;
                        break;
                    }
                }
            }
         
           
        }
Avatar billede keepy Seniormester
26. januar 2017 - 07:59 #4
Det burde virke det jeg skrev.
Som metoden er nu skal du skrive præcis det samme som der står i dig datagrid for at den vil frem søge rækken.
if (row.Cells[2].Value.ToString().Equals(searchValue))

Hvis du ændre Equals til Contains, så skal det du skriver i søge feltet bare være repræsenteret i cell'en.
if (row.Cells[2].Value.ToString().Contains(searchValue))

Husk der er forskel på store og små bogstaver.

Søger du i den rigtige cell, hvor det du vil frem søge står???
Avatar billede totalpc Seniormester
26. januar 2017 - 10:01 #5
Tak det virker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester