Avatar billede nih Novice
13. marts 2007 - 19:39 Der er 7 kommentarer og
1 løsning

Opbygge en mange til mange GUI

Hej

Jeg mangler et godt eksempel på opbygningen af en mange til mange brugerflade.
Jeg har en tabel: personer: persID, Navn, adr, osv.....
En anden tabel: klubStatus: klubStatusID, KlubStatusNavn
En tredje tabel: StatusKode: persID, klubStatusID, dato, kode(boolean), bem

Jeg ønsker en brugerflade ligesom når man tildeler usere forskellige rolles i configurationsmanageren.

håber der nogle der har gode links til eksempler, eller konkrete gode råd.

mvh Niels
Avatar billede snepnet Nybegynder
15. marts 2007 - 16:19 #1
Well... hvis det lige er sådan du vil have det, kan du bare kigge på hvordan den side er lavet.
Standardplaceringen er her:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ASP.NETWebAdminFiles\Security\Users\manageUsers.aspx
Mvh
Avatar billede nih Novice
15. marts 2007 - 21:50 #2
Det ser noget avanceret ud ...

Det jeg er ude efter er at jeg på en side har alle detaljer vedr. 'personer': persDetalje.aspx?persId=1

her vil jeg have en liste med ALLE poster fra tabellen statuskode.
I samme tabel en checkbox der angiver om aktuel statuskode er sand/falsk samt tomme felter dato og bem (fra tabellen statuskode)
Jeg har lavet et View, der giver aktuel statuskode.
Men jeg kan ikke hitte ud af at flette det view med 'klubstatus'.....

Niels
Avatar billede nih Novice
15. marts 2007 - 21:52 #3
Der skal selvfølgelig også være en knap til at indsætte den nye status i tabellen StatusKode

Niels
Avatar billede snepnet Nybegynder
16. marts 2007 - 09:36 #4
Du kan bygge det med en listekontrol (gridview/repeater/...) - som en slags ydre/inder liste... Det er ikke så kompliceret.

Hvis du skal have stor kontrol med layout etc. har du de bedste muligheder med repeateren. Du kan lige få et lille eksempel her:

Hvis vi tager udgangspunkt i et pseudo-datalag, som ser sådan her ud:

public class DataResource
{
    public static List<OuterData> GetData()
    {
        List<OuterData> data = new List<OuterData>();
        data.Add(new OuterData());
        data.Add(new OuterData());
        data.Add(new OuterData());
        return data;
    }
}

public class OuterData
{
    private string m_OuterText;
    private List<InnerData> m_InnerDataList;

    public string OuterText
    {
        get { return m_OuterText; }
        set { m_OuterText = value; }
    }

    public List<InnerData> InnerDataList
    {
        get { return m_InnerDataList; }
        set { m_InnerDataList = value; }
    }

    public OuterData()
    {
        m_OuterText = "Outerlist text";
        m_InnerDataList = new List<InnerData>();
        m_InnerDataList.Add(new InnerData());
        m_InnerDataList.Add(new InnerData());
        m_InnerDataList.Add(new InnerData());
    }
}

public class InnerData
{
    private bool m_Active;

    public bool Active
    {
        get { return m_Active; }
        set { m_Active = value; }
    }
}

Altså en klasse der giver dig adgang til data i form af en liste. Listen består af OuterData objekter, og hvert OuterData objekt holder en liste af InnerData objekter.

Det kan du præsentere reletativt let på følgende måde:

<asp:Repeater ID="outer" runat="server" DataSourceID="DataDataSource">
    <ItemTemplate>
        <asp:Label ID="lblText" runat="server" Text='<%# Eval("OuterText") %>'></asp:Label>
        <asp:CheckBoxList ID="chkList" runat="server" DataSource='<%# Eval("InnerDataList") %>'>
        </asp:CheckBoxList>
    </ItemTemplate>
</asp:Repeater>
<asp:ObjectDataSource
    ID="DataDataSource"
    runat="server"
    SelectMethod="GetData"
    TypeName="DataResource">
</asp:ObjectDataSource>

Kan du se princippet i det?

Mvh
Avatar billede nih Novice
16. marts 2007 - 11:08 #5
Hej
Ikke helt - men jeg skal lige have tid at afprøve det
Avatar billede snepnet Nybegynder
19. marts 2007 - 22:56 #6
Det er bare iorden ... Du må bare spørge hvis der er noget.
Mvh
Avatar billede nih Novice
19. marts 2007 - 23:20 #7
Hej
jeg er desværre ikke kommet videre

Hvis du ligger et svar, vil jeg lukke spm. og bringe det op igen senere hvis det bliver nødvendigt.

Niels
Avatar billede snepnet Nybegynder
19. marts 2007 - 23:49 #8
Ok - du skulle meget gerne kunne køre koden direkte...
Mvh
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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