2016-07-13 2 views
0

데이터를 wpf로 DataGrid에 표시하려고합니다. 데이터를 동적으로 표시하는 방법이 무엇입니까?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(); 

} 

답변

0

당신은 DataGrid에 대한 ItemsSourceIEnumerable을 구현하는 모든 유형을 설정할 수 있습니다. 예를 들어

, ObservableCollection<T> :

XAML :

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

코드 숨김 :

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; 
} 

모델 클래스 :

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

또는 사용하여 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 @ 질문을 언제든지 물어보십시오. 내 답장이 도움이되었다고 생각되면 내 답장을 답으로 표시하여 다른 사람들의 향후 검색을 단순화 할 수 있습니다. 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; 

업데이트 코드. 그것은 작동해야합니다.

희망이 도움이됩니다!

1

처음으로 모든 num 값을 목록 또는 관찰 가능한 컬렉션에 할당 할 수 있습니다. 그런 다음이 List 또는 Collection을 DataGrid의 itemsource로 설정할 수 있습니다.

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;