[英]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.