výmaz řádků   zodpovězená otázka

VB.NET, Algoritmy

Chtěl bych se zeptat jak vyřeším tuto chybu?

K informacím o odstraněném řádku nelze přistupovat prostřednictvím řádku.

pocitadlo = 0
        For i As Integer = 0 To dst.Rows.Count - 1
            'If Not dst.Rows(i).Item(0) Is DBNull.Value Then
            pocitadlo = CInt(dst.Rows(i).Item(0))
            'Else : pocitadlo = 0
            ' End If
            If pocitadlo <> 1 Then
                While pocitadlo <> 0
                    dst.Rows(i + pocitadlo - 1).Delete()
                    pocitadlo = pocitadlo - 1
                End While
            End If
        Next

Mažu totiž v tabulce řádky s duplicitním záznamem,ale nefunguje to jak má.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No, natáhnout si data do GridView a pak s nimi manipulovat je IMHO blbý postup. Daleko lepší je tohle provést na úrovni databáze a zobrazit si jen výsledek. GridView slouží k zobrazování a jednoduchým úpravám dat, ne na takto složité věci. Pokud to jinak nepůjde, zkuste řádky nemazat, ale nastavit jim Visible na False.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vyřešeno:

       For j As Integer = 0 To dst.Rows.Count - 1
           If dst.Rows(j).Item(0) Is DBNull.Value Then
               dst.Rows(j).Delete()
           End If
       Next

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Řesím stejný problém, tj. potřebuju profiltrovat ve stránce řádky vrácené z databáze a ty následně zobrazit v GridView. Když nastavím řádku Visible na False, tak to na první pohled vypadá správně, ale máto to 2 základní problémy:

1) Pokud takto skryju všechny řádky, tak se nezobrazí EmptyDataTemplate.

2) Nesouhlasí stránkování. Zobrazí se mi například 5 řádek a 20 stránek.

Oba problémy jsou předpokládám způsobené tím, že GridView takto skryté řádky do počtu řádek stále počítá.

Jak tento problém vyřešit?

Řádky potřebuju filtrovat i ve stránce, protože podmínka pro filtrování je velmi slořitá a není možné jí přepsat do SQL. Využívá jiné třídy, parsování, které nabízí apod.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback