2016-07-13 13 views
0

Ich möchte Daten in Datagrid in wpf.What zeigt die Art, Daten dynamisch anzuzeigen.Datagrid Wpf C#

Random rm = new Random(); 
Random rm2 = new Random(); 
string code = "034" + rm2.Next(0, 7); 
string num = code + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9); 

for (int i = 1; i <= 10000; i++) 
{ 
    code = "034" + rm2.Next(0, 7); 
    num = code + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) ; 
    dataGrid1.ItemsSource = num.ToString(); 

} 

Antwort

0

Sie können jede Art eingestellt, die IEnumerable als ItemsSource für DataGrid implementiert.

Zum Beispiel ObservableCollection<T>:

XAML:

<DataGrid Name="dataGrid"></DataGrid> 

Code-Behind:

public MainWindow() 
{ 
    FillDataGrid(); 

} 

private void FillDataGrid() 
{ 
    ObservableCollection<Person> coll = new ObservableCollection<Person>(); 
    for (int start = 0; start < 10; start++) 
    { 
     coll.Add(new Person() { IdPerson = start, Name = "Bill" + start.ToString(), SurName = "ONeill" }); 
    } 
    dataGrid.ItemsSource = coll; 
} 

Modellklasse:

public class Person 
{ 
    public int IdPerson { get; set; } 
    public string Name { get; set; } 
    public string SurName { get; set; } 
} 

OR mit D ataTable:

public MainWindow() 
{ 
    FillDataGrid(); 
} 

private DataTable employeeDataTable; 
private void FillDataGrid() 
{ 
    employeeDataTable = new DataTable(); 
    employeeDataTable = _ds.Tables.Add("DT"); 
    for (int i = 0; i < 80; i++) 
    { 
     employeeDataTable.Columns.Add(i.ToString()); 
    } 
    for (int i = 0; i < 100; i++) 
    { 
     var theRow = employeeDataTable.NewRow(); 
     for (int j = 0; j < 80; j++) 
     { 
      theRow[j] = "a"; 
     } 
     employeeDataTable.Rows.Add(theRow); 
    } 
    gridEmployees.ItemsSource = employeeDataTable.DefaultView; 
} 
+0

@ArsalanAhmed zögern Sie nicht, eine Frage zu stellen. Wenn Sie meinen, dass meine Antwort Ihnen hilft, dann können Sie meine Antwort als eine Antwort markieren, um die zukünftige Suche nach anderen Personen zu vereinfachen. Bitte lesen Sie diese http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – StepUp

1
Random rm = new Random(); 
    Random rm2 = new Random(); 
    string code = "034" + rm2.Next(0, 7); 
    List<string> numList = new List<string>(); 
    string num = code + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9); 



    for (int i = 1; i <= 10000; i++) 
    { 

     code = "034" + rm2.Next(0, 7); 
     num = code + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) ; 

     numList.Add(num); 
    } 
    dataGrid1.ItemsSource = numList; 

Aktualisieren Sie Ihren Code mit diesem. Es sollte funktionieren.

Hoffe das hilft !!

1

Zuerst können Sie alle num Werte einer Liste oder einer Observable Collection zuweisen. Dann können Sie diese Liste oder Sammlung als Artikelquelle für Ihr Datagrid festlegen.

List<string> numLst = new List<string>(); 
for (int i = 1; i <= 10000; i++) 
{ 
    code = "034" + rm2.Next(0, 7); 
    num = code + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) + rm.Next(0, 9) ; 
    numLst.Add(num); 
} 
dataGrid1.ItemsSource = numLst;