asp.net – 没有Eval的GridGroupHeaderItem.AggregatesValues
在
telerik documentation中,它表示聚合值存储在AggregatesValues中.他们甚至在
exemple使用它.
但我觉得无法证明.因为每一个都是真的,直到被证明是错的.对吧?让我为你提供一个最小的,完整的,可验证的例子.所以你可以指出我的错误. Aspx: <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource" AllowPaging="True" ShowGroupPanel="True"> <MasterTableView> <GroupByExpressions> <telerik:GridGroupByExpression> <SelectFields> <telerik:GridGroupByField FieldAlias="GrpGroupID1" FieldName="GroupID" /> <telerik:GridGroupByField FieldAlias="SumCount" FieldName="Count" Aggregate="Sum" /> </SelectFields> <GroupByFields> <telerik:GridGroupByField FieldAlias="GrpGroupID" FieldName="GroupID" HeaderText="" /> </GroupByFields> </telerik:GridGroupByExpression> </GroupByExpressions> <GroupHeaderTemplate> <table> <tr> <td>eval GrpGroupID1:</td> <td><%# Eval("GrpGroupID1") %></td> <td> ||| </td> <td>Bind GrpGroupID1:</td> <td><%# ((GridGroupHeaderItem)Container).AggregatesValues["GrpGroupID1"] %></td> </tr> <tr> <td>eval SumCount:</td> <td><%# Eval("SumCount") %></td> <td> ||| </td> <td>Bind SumCount:</td> <td><%# ((GridGroupHeaderItem)Container).AggregatesValues["SumCount"] %></td> </tr> </table> </GroupHeaderTemplate> <Columns> <telerik:GridNumericColumn DataField="ID" HeaderText="ID" SortExpression="ID" UniqueName="Name_ID" /> <telerik:GridNumericColumn DataField="GroupID" HeaderText="GroupID" SortExpression="GroupID" UniqueName="Name_GroupID" /> <telerik:GridBoundColumn DataField="Name" HeaderText="Name" SortExpression="Name" UniqueName="Name_Name" /> <telerik:GridBoundColumn DataField="Text" HeaderText="Text" SortExpression="Text" UniqueName="Name_Text" /> <telerik:GridNumericColumn DataField="Count" HeaderText="Count" SortExpression="Count" UniqueName="Name_Count" Aggregate="Sum" /> </Columns> </MasterTableView> </telerik:RadGrid> 代码背后: protected void RadGrid1_NeedDataSource(object sender,Telerik.Web.UI.GridNeedDataSourceEventArgs e) { List<TmpType> myData = new List<TmpType>(); List<string> firstNames = new List<string>() { "Angela","Pamela","Sandra","Rita","Monica","Erica","Tina","Mary","Jessica","Loubega" }; List<string> Location = new List<string>() { "Reunion","Paris","Bretagne","Madagascar","UK","Maurice" }; Random random = new Random(); for (int i = 0; i <= 88; i++) { TmpType row = new TmpType(); row.ID = i + 1; row.GroupID = random.Next(10); row.Count = random.Next(10); row.Name = firstNames[random.Next(firstNames.Count)]; row.Text = Location[random.Next(Location.Count)]; myData.Add(row); } RadGrid1.DataSource = myData; } class TmpType { public string Name { get; set; } public string Text { get; set; } public int Count { get; set; } public int GroupID { get; set; } public int ID { get; set; } } 结果: 调试中AggregatesValues的键和值: 数据显示的例子: 正如您在此示例中所看到的: 文件说:
SumCount是我的FieldAlias. 我尝试了什么: 这是我尝试的每件事和结果的清单. Eval():总是几乎正确,几乎所有的近似知识. > Eval(“GrpGroupID1”),给出groupby字段的当前值,OK! AggregatesValues:会很快! >((GridGroupHeaderItem)Container).AggregatesValues [“GrpGroupID1”],OK! 这些测试是使用asp:Label而不是使用Label进行的. 边注: >是的,我可以简单地使用Eval.但为什么?为什么我会在MSDN状态下使用Eval,我不应该使用它,以及当Telerik文档声明我可以使用聚合值集合时. 问题在哪里? 许多人会问:“问题在哪里?”. 解决方法
“Name_GroupID”缺少Aggregate属性,该属性实际上将填充Aggregate值集合.虽然Eval()可以访问绑定值,但Aggregate集合仍然为空,从而导致空值.
尝试将Aggregate =“Sum”添加到列中. <telerik:GridNumericColumn DataField="GroupID" HeaderText="GroupID" SortExpression="GroupID" UniqueName="Name_GroupID" Aggregate="Sum" /> 结果: 调试中AggregatesValues的键和值: 数据显示示例: 对你放在一起的所有细节竖起大拇指!调查这个案子真是太棒了! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 优化性能或属性路由和路由表
- asp.net – GridView BoundField打破长字符串
- asp.net-mvc – 使用MVC为iPhone应用构建RESTful API – 如
- 是否有ASP.NET分页控件(非MVC)?
- asp.net – Web Forms MVP项目有哪些好的资源?
- asp.net – 禁用aspnet.friendlyurl的平板电脑移动重定向
- asp.net – 具有w3wp应用程序池IIS 7的高内存使用率
- asp.net – Cookies和子域名
- asp.net-mvc-4 – 如何在ASP.Net MVC 4中定义特定区域的布局
- 如何使用asp.net Web应用程序获取cookie?
- asp.net-mvc – 如何在没有其他操作匹配的情况下
- asp.net-mvc-4 – 使用AngularJs Web API,为什么
- asp.net – Visual Studio总是打开网站而不是编辑
- asp.net-mvc – 基于声明的授权 – 如何管理声明
- asp.net-mvc – 使用IIS基本身份验证的OWIN身份验
- asp.net-mvc-3 – 限制访问ASP.NET MVC 3中的控制
- asp.net-mvc – 在带有Web Essentials的Visual S
- asp.net – GridView上的滚动条
- asp.net-mvc – WS-FED身份验证(ADFS)和ASP.NET
- Asp.Net Mvc中动态数据的替代方案