我有一个查询,我在使用SP的SQL中使用了多个联接。它在我的DBMS中运行良好。但是,当我尝试在gridview中显示它时,出现“在数据集中找不到属性或字段' tipoId '”。这很奇怪,我在想是由于别名吗?这很奇怪,因为第一列没有出现任何错误“ eq.id ”
查询:
SELECT eq.id, tipeq.descripcion as tipoId, per.descripcion as periodoId, tagId, eq.asignado asignado, emp.Nombre as empleadoId
FROM Raffle.dbo.Equipos eq
inner join dbo.Empleados emp ON emp.equipoId = eq.id
inner join dbo.Periodo per ON per.id = eq.periodoId
inner join dbo.TipoEquipo tipeq ON tipeq.id = eq.tipoId;
正面:
<asp:GridView ID="gvEquipos" runat="server" AllowPaging="True" AllowSorting="true"
AutoGenerateColumns="False" DataKeyNames="Id" CellPadding="5" ForeColor="#333333"
GridLines="None" PageSize="25" ShowFooter="True" Width="100%" Font-Size="9pt"
OnSorting="gvEquipos_Sorting" OnPageIndexChanging="gvEquipos_PageIndexChanging"
OnRowDataBound="gvEquipos_RowDataBound" EnablePersistedSelection="true">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True"
SortExpression="Id" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" />
<asp:BoundField DataField="TipoId" HeaderText="Tipo de Equipo" ReadOnly="True"
SortExpression="TipoId" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" />
<asp:BoundField DataField="TagId" HeaderText="TagId" ReadOnly="True"
SortExpression="TagId" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" />
<asp:BoundField DataField="Asignado" HeaderText="Asignado" ReadOnly="True"
SortExpression="Asignado" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Top" />
<asp:BoundField DataField="PeriodoId" HeaderText="PeriodoId"
SortExpression="PeriodoId" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left" ItemStyle-VerticalAlign="Top" />
</Columns>
后端:
public void LoadData()
{
gvEquipos.DataSource = GetApplicants();
gvEquipos.DataBind();
}
private List<ASF.Raffle.Entity.Equipos> GetApplicants()
{
ASF.Raffle.BO.Equipos equipos = new ASF.Raffle.BO.Equipos();
List<ASF.Raffle.Entity.Equipos> equiposTodos;
List<ASF.Raffle.Entity.Equipos> equiposFiltered = new List<ASF.Raffle.Entity.Equipos>();
//primero filtro activos e inactivos.
return equiposTodos = equipos.GetAll();
}