繁体   English   中英

Datagrid Wpf C#

[英]Datagrid Wpf C#

我想在wpf中的datagrid中显示数据。动态显示数据的方法是什么?

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();

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

以此更新您的代码。 它应该工作。

希望这可以帮助!!

首先,您可以将所有num值分配给List或Observable Collection。 然后,您可以将此列表或集合设置为您的数据网格的项目源。

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;

您可以设置将IEnumerable实现为DataGrid ItemsSource任何类型。

例如, 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; }
}

或使用DataTable:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM