DataGrid – Více řádků textu v jednom row   zodpovězená otázka

VB.NET

Dobrý den, řeším ve VB.NET (Visual studio 2008) tuto věc. V MS ACCESSU 2000 mám formulář, který má vlastnost nekonečný . To znamená, pokud do formuláře načtu seznam, který má např.10 řádků, tak je formulář interpretuje. Na tomto formuláři v Těle umístím Textová pole, kterým přiřadím (názvy hlaviček ze selectu), tímto vytvořím jeden řádek, která se následně opakuje tak dlouho, dokud nezobrazí těch 10 záznamů. Je to podobné jako DataGrid, ale jedna vlastnost se ACCESSU nedá upřít, mohu v podstatě umístit dva sloupce pod sebe tím, že dám dvě textové pole pod sebe.

Select vypadá například takto: SELECT JmenoA, PrijmeniA, JmenoB, PrijmeniB, ...N sloupců FROM TAB

A v podstatě bych v DataGridu potřebovat tento řádek namáčknout do jednoho řádku, kde ---- je ohraničení řádku

--------------

JmenoA | PrijmeniA

JmenoB | prijmeniB

---------------

Další řádek

---------------

Další řádek ... N

Jde něco podobného vytvořit i ve Visual studiu 2005/8, VB.NET?

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

Dodrý den,

zkusím to z hlavy, snad Vás to alespoň navede správným směrem:

SELECT Jmeno, Prijmeni FROM 
(
 SELECT ID, JmenoA AS Jmeno, PrijmeniA AS Prijmeno, 1 AS OrderClmn FROM TABLE
UNION ALL SELECT ID, JmenoB AS Jmeno, PrijmeniB AS Prijmeno, 2 AS OrderClmn FROM TABLE
) ORDER BY ID, OrderClmn

Vybere nejdříve JmenoA a PrijmeniA. V druhém dotazu JmenoB a prijmeniB. Zaznamy pak seřadíte a získáte tak 2 řádky pro každý záznam.

Možná tam mám nějakou chybku. Napište jak to dopadlo.

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

Zdravím, takhle jsem také uvažoval, udělat dva selekty, ale bohužel ten select který chci použít je i po optimalizaci náročný a bude jej využívat více uživatelů a v pravidelných intervalech (pokud nebude jiná možnost udělám ještě jednu revizi kódu a uvidíme).

Dále bych potřeboval, aby tyto dva řádky vytvořené z jedno byly umístěny v samostatném řádku DataGridu, abych tyto řádky mohl vizuálně odlišit.

V případě, že bych použil dva selecty a spojil je UNIONem, šlo by udělat tohle?

Vytvořit DataGrid a do každého jeho řádku vložit DataGrid, který by měl 2 rádky, do kterých bych umístil data, bylo by tohle možné?

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

To jsem já, nebyl jsem přihlášen

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

Do každého řádku datagridu další datagrid nevložíte. Moje řešení Vám vytvoří výsledek, kde je každý řádek 2x pokaždé s jinými hodnotami. Nevím asi co tedy potřebujete.

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

Ok udělal jsem to tedy dvěma selecty a spojil je UNIONEM. Chtěl bych se zeptat, zdali je možné v DataGridu střídat barvu po dvou řádcích (vždy dva řádky se stejným ID číslem)?

Vím, že střídání barvy pozadí v DataGridu jde, ale jen ob řádek, toto jsem už zkoušel.

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

Tak už jsem na to přišel jak podbarvit v DatGridu na střídačku dva a dva řádky

        Dim ID As Integer
        Dim counter As Integer = 0

        For Each row As DataGridViewRow In StavyPrehled.Rows
            ID = row.Cells.Item("ID").Value
            If counter = 4 Then counter = 0

            If counter = 0 Or counter = 1 Then
                row.DefaultCellStyle.BackColor = Color.Green
            Else
                row.DefaultCellStyle.BackColor = Color.White
            End If
            counter = counter + 1
        Next
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