C# 数据绑定:“System.Data.DataRowView”不包含名为“Region”的属性
由于查询未返回列Regoin,因此我收到此错误。因为这取决于用户选择。根据用户选择,在查询中使用聚合函数。如果用户未选择区域,则需要隐藏列。我怎样才能做到这一点 存储过程C# 数据绑定:“System.Data.DataRowView”不包含名为“Region”的属性,c#,asp.net,sql-server,stored-procedures,C#,Asp.net,Sql Server,Stored Procedures,由于查询未返回列Regoin,因此我收到此错误。因为这取决于用户选择。根据用户选择,在查询中使用聚合函数。如果用户未选择区域,则需要隐藏列。我怎样才能做到这一点 存储过程 begin set @SQLQuery='select ROW_NUMBER() OVER (ORDER BY BusinessUnit) As SrNo, BusinessUnit' set @GrpBy='' /* This is to concatenate as group by clau
begin
set @SQLQuery='select ROW_NUMBER() OVER (ORDER BY BusinessUnit) As SrNo, BusinessUnit'
set @GrpBy='' /* This is to concatenate as group by clause */
if @Tower<>'false'
begin
set @SQLQuery = @SQLQuery + ', ' + 'Tower'
Set @GrpBy = @GrpBy + ', ' + 'Tower'
end
if @Regionwise<>'false'
begin
set @SQLQuery = @SQLQuery + ', ' + 'Region'
Set @GrpBy = @GrpBy + ', ' + 'Region'
end
if @Countrywise<>'false'
begin
set @SQLQuery = @SQLQuery + ', ' + 'Country'
Set @GrpBy = @GrpBy + ', ' + 'Country'
end
if @Levelwise<>'false'
begin
set @SQLQuery = @SQLQuery + ', ' + 'EmployeeLevel'
Set @GrpBy = @GrpBy + ', ' + 'EmployeeLevel'
end
Set @SQLQuery= @SQLQuery + ', count(SapId) as EmpCount from tbl_RosterMgmtData where RollOffDate is null '
Set @SQLQuery= @SQLQuery + ' group by BusinessUnit' + @GrpBy
end
Execute sp_Executesql @SQLQuery
中继器
<ItemTemplate>
<tr>
<td align="left"><asp:Literal ID="Literal11" runat="server" Text='<%# Eval("SrNo") %>' Mode="Encode"></asp:Literal></td>
<td align="left"><asp:Literal ID="Literal12" runat="server" Text='<%# Eval("BusinessUnit") %>' Mode="Encode"></asp:Literal></td>
<td align="left" id="td_Tower" runat="server"><asp:Literal ID="Literal15" runat="server" Text='<%# Eval("Tower") %>' Mode="Encode"></asp:Literal></td>
<td align="left"><asp:Literal ID="Literal16" runat="server" Text='<%# Eval("Region") %>' Mode="Encode"></asp:Literal></td>
<td align="left"><asp:Literal ID="Literal17" runat="server" Text='<%# Eval("Country") %>' Mode="Encode"></asp:Literal></td>
<td align="left"><asp:Literal ID="Literal13" runat="server" Text='<%# Eval("EmpCount") %>' Mode="Encode"></asp:Literal></td>
</tr>
</ItemTemplate>
你怎么指望有人能在这里帮忙?错误信息非常清楚。您正在动态更改过程返回的列,很明显,您的dotnet代码无法处理此问题。它希望在过程的结果集中有一列。你需要在这里分享更多的信息,问题只是你的程序中的一部分。@sean lange,所以它不起作用。替代方法是什么?可能有很多选择。但它们取决于你需要完成什么。您可以允许动态绑定,您可以始终返回列,然后有条件地隐藏它们。当然还有其他选择,但这两种选择很快就会浮现在脑海中。你希望有人能在这里提供帮助吗?错误信息非常清楚。您正在动态更改过程返回的列,很明显,您的dotnet代码无法处理此问题。它希望在过程的结果集中有一列。你需要在这里分享更多的信息,问题只是你的程序中的一部分。@sean lange,所以它不起作用。替代方法是什么?可能有很多选择。但它们取决于你需要完成什么。您可以允许动态绑定,您可以始终返回列,然后有条件地隐藏它们。当然还有其他选择,但这两种选择很快就会浮现在脑海中。