Autor Beitrag
c#ler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Mo 20.06.11 14:31 
Folgendes,
Ich habe eine advancedlist(resco) und eine Textbox.
Ich habe verschiedene Rowtemplates, welche dann den Textinhalt für jeweils eine Zeile definieren.
ausblenden C#-Quelltext
1:
advancedList_main.DataRows.Add(new DataRow(00, -1, -1new string[] { Text = ("Maximal 85  km/h") }));					


Soweit funktioniert alles.

Nun möchte ich zu jedem Rowtemplate einen Text in der Textbox haben.
- z.b. im Rowtemplate steht "Schuhe", dann soll bei der Auswahl dieses Templates der Textboxinhalt "38 - 45"
anzeigen
- sobald ich dann ein Rowtemplate "Hemd" auswähle, soll der Textboxinhalt "s - XXL verfügbar" anzeigen. usw

1. theoretischer Ansatz:
Jedes Rowtemplate hat einen festen Index, nun muss ich auf jeden Index einen Textdefinieren.
Nur habe ich dazu leider keinen praktischen Ansatz und das Thema ist zu spezifisch um etwas sinnvolles dazu im Internet zu finden.
Darum bitte ich euch um einen praktischen Ansatz, auf dem Ich aufbauen kann.
Ich bin dankbar für jede sinnvolle Antwort.

Vielen Dank
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mo 20.06.11 16:13 
Hi,
und wenn Du alle Templates in ein Dictionary<string, DataRow> packst?
Also sowas
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
Dictionary<string, DataRow> templates = new Dictionary<string, DataRow>()
{
   { "Schuhe"new DataRow(00, -1, -1new string[] { Text = ("38 - 45") }) },
   { "Hemd"new DataRow(00, -1, -1new string[] { Text = ("s - XXL verfügbar") }) }
};
Dann kannst Du per Index und über den Key zugreifen.

Für diesen Beitrag haben gedankt: c#ler
c#ler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Di 21.06.11 12:54 
Das ist meine Form "Liste"
in der werden die Rows ins Dictionary gepackt.
Alles schön und gut. Hilft mir auch weiter, jedoch hab ich jetzt das Problem, dass ich das Dictionary nicht in der Form aufrufen kann. Keine Ahnung warum? :(
//
//Liste.cs
//
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
namespace Fahrerbuch
{
    public partial class Form1 : Form
    {
        public void Listenklasse()
        {
                Dictionary<string, DataRow> RTL1 = new Dictionary<string, DataRow>()
                {
                    { "Schuhe"new DataRow(00, -1, -1new string[] { Text = ("38 - 45") }) },
                    { "Hemd"new DataRow(00, -1, -1new string[] { Text = ("s - XXL verfügbar") }) }
                };
        }
    }
}


//
//Form1
//

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
namespace Fahrerbuch
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Listenklasse();
        }
    }
}


ist natürlich alles etwas abgekürzt.
Kann mir bitte jemand verraten, was ich falsch mache?
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Di 21.06.11 17:41 
Hallo,

naja, Du deklarierst (und initialisierst) das Dictionary innerhalb der Methode "Listenklasse()", und somit ist es auch nur innerhalb der Methode verfügbar.
Den Namen der Methode finde ich ziemlich abgefahren. Denn es ist eine Methode, und keine Klasse, und ausserdem ist der Name in Bezug darauf, was die Methode macht, nicht aussagekräftig.
Nenne sie mal besser "InitializeTemplates()" oder so.
Dann musst Du bloß noch das Dictionary als globale Variable deklarieren, und in der Methode initalisieren.
c#ler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Mi 22.06.11 09:22 
user profile iconTrashkid2000 hat folgendes geschrieben Zum zitierten Posting springen:


Den Namen der Methode finde ich ziemlich abgefahren. Denn es ist eine Methode, und keine Klasse, und ausserdem ist der Name in Bezug darauf, was die Methode macht, nicht aussagekräftig.



War ein flüchtigkeitsfehler, copy-past schief gelaufen..
Habe es in der Zwischenzeit geändert.
Außerdem packe ich nun die Rows einfach in einen Datatable, sodass ich nurnoch diesen aufrufen muss.

Zum Thema Index:
kann ich per index in einem Datatable auf die einzelnen Rows zugreifen?