在GridView中从不同的ActiveRecord表对象设置多个DataKeyName
我正在尝试使用asp.net GridView的DataKeyNames属性设置两个DataKey 我有一个简单的公式如下:在GridView中从不同的ActiveRecord表对象设置多个DataKeyName,gridview,castle-activerecord,Gridview,Castle Activerecord,我正在尝试使用asp.net GridView的DataKeyNames属性设置两个DataKey 我有一个简单的公式如下: Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION> c = new Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION>(@" select c from CONFIGUR
Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION> c = new Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION>(@"
select c from CONFIGURATION c left join c.LUserConfiguration luc left join luc.User u left join u.Dealer d left join c.TRUCK t");
Partial Public Class CONFIGURATION
Public ReadOnly Property GetDealerID() As Integer
Get
Return LUserConfigurations.Item(0).Users.Dealer.ID
End Get
End Property
End Class
Castle.ActiveRecord.querys.SimpleQuery c=newcastle.ActiveRecord.querys.SimpleQuery(@)
从配置c left join c.LUserConfiguration luc left join luc.用户u left join u.经销商d left join c.t”)中选择c;
在数据绑定操作中,经销商的评估如下:
Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION> c = new Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION>(@"
select c from CONFIGURATION c left join c.LUserConfiguration luc left join luc.User u left join u.Dealer d left join c.TRUCK t");
Partial Public Class CONFIGURATION
Public ReadOnly Property GetDealerID() As Integer
Get
Return LUserConfigurations.Item(0).Users.Dealer.ID
End Get
End Property
End Class
但当我试图设置DataKeyNames=“ID,LUserConfiguration.User.Dealer.DealershipID”时,我得到了错误:
“数据绑定:'ARMapping.CONFIGURATION'不包含名为'LUserConfiguration.User.Dealer.DealershipID'的属性。”
它在Eval'd时不会抱怨,但我不能将Eval放在DataKeyNames属性中
有什么想法吗?接下来,我解决了这个问题
一个简短的解释。。。我为配置类创建了一个新的分部类(我这样做是因为我的ActiveRecord代码是自动生成的,我无法更改它。我确信这是强烈建议的用法,因为您的模型几乎总是具有分部类最适合的扩展功能
部分类别如下:
Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION> c = new Castle.ActiveRecord.Queries.SimpleQuery<ARMapping.CONFIGURATION>(@"
select c from CONFIGURATION c left join c.LUserConfiguration luc left join luc.User u left join u.Dealer d left join c.TRUCK t");
Partial Public Class CONFIGURATION
Public ReadOnly Property GetDealerID() As Integer
Get
Return LUserConfigurations.Item(0).Users.Dealer.ID
End Get
End Property
End Class
然后,我将GridView的DataKeyNames属性设置为“ID,GetDealerID”。我还没有测试,但是页面现在正在加载,没有错误
您必须确保创建的是属性,而不是函数(根据上面的链接)