Cap*_*mic 7 datasource datagridview winforms
我有一个DataGridView控件,我想用数据填充它.
我使用DataSource属性
// dgvDealAsset is DataGridView
private void DealAssetListControl_Load(object sender, EventArgs e)
{
dgvDealAssets.AutoGenerateColumns = false;
dgvDealAssets.DataSource = DealAssetList.Instance.Values.ToList();
}
Run Code Online (Sandbox Code Playgroud)
现在问题第一.我的集合的类不仅包含我可以使用DataPropertyName映射到列的简单类型.这是集合中包含的类.
class MyClass
{
public String Name;
MyOtherClass otherclass;
}
class MyOtherClass
{
public String Name;
}
Run Code Online (Sandbox Code Playgroud)
现在我将MyClass的属性绑定到列
col1.DataPropertyName = "Name" // Ok
col2.DataPropertyName = "otherclass" // Not OK - I will have empty cell
Run Code Online (Sandbox Code Playgroud)
问题是我想显示otherclass.Name字段.但如果我试着写
col2.DataPropertyName = "otherclass.Name"
Run Code Online (Sandbox Code Playgroud)
我得到空单元格.
我试图手动设置列
private void DealAssetListControl_Load(object sender, EventArgs e)
{
dgvDealAssets.AutoGenerateColumns = false;
dgvDealAssets.DataSource = DealAssetList.Instance.Values.ToList();
// iterate through rows and set the column manually
foreach (DataGridViewRow row in dgvDealAssets.Rows)
{
row.Cells["Column2"].Value = ((DealAsset)row.DataBoundItem).otherclass.Name;
}
Run Code Online (Sandbox Code Playgroud)
但是这个foreach循环需要大约几分钟才能完成(2k元素).如何解决这个问题呢?
归档时间: |
|
查看次数: |
10161 次 |
最近记录: |