Para recuperar datos de tablas relacionadas
- Establezca la propiedad Select del control LinqDataSource con el siguiente valor:
new(Name, Size, UnitMeasure.Name as SizeMeasureName, Weight, UnitMeasure1.Name as WeightMeasureName, ProductSubcategory.Name as SubCategoryName)
Las propiedades SizeMeasureName, WeightMeasureName y SubCategoryName contienen valores de tablas con relaciones de clave externa con la tabla Products. - Para devolver sólo los productos que tienen una unidad de medida de tamaño o peso, establezca la propiedad Where con el siguiente valor:
WeightUnitMeasureCode != null || SizeUnitMeasureCode != null
Al filtrar estos valores se muestra cómo el control LinqDataSource administra las relaciones de clave externa. El operador || realiza una operación OR lógica. Por tanto, sólo se devuelven los registros con un valor asignado al menos en una de las claves externas.En el ejemplo siguiente, se muestra el marcado declarativo del control LinqDataSource.<asp:LinqDataSource ContextTypeName="AdventureWorksDataContext" TableName="Products" Where="WeightUnitMeasureCode != null || SizeUnitMeasureCode != null" Select="new(Name, Size, UnitMeasure.Name as SizeMeasureName, Weight, UnitMeasure1.Name as WeightMeasureName, ProductSubCategory.Name as SubCategoryName)" ID="LinqDataSource1" runat="server"> </asp:LinqDataSource>
- En el control GridView, agregue un control BoundField para cada columna que desee mostrar. Estas columnas son Name, Size, SizeMeasureName, Weight,WeightMeasureName y SubCategoryName.En el ejemplo siguiente se muestra el marcado declarativo del control GridView.
<asp:GridView AllowPaging="true" AllowSorting="true" AutoGenerateColumns="false" DataSourceID="LinqDataSource1" ID="GridView1" runat="server"> <Columns> <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /> <asp:BoundField DataField="Size" HeaderText="Size" SortExpression="Size" /> <asp:BoundField DataField="SizeMeasureName" HeaderText="Size Unit of Measurement" SortExpression="SizeMeasureName" /> <asp:BoundField DataField="Weight" HeaderText="Weight" SortExpression="Weight" /> <asp:BoundField DataField="WeightMeasureName" HeaderText="Weight Unit of Measurement" SortExpression="WeightMeasureName" /> <asp:BoundField DataField="SubCategoryName" HeaderText="Subcategory Name" SortExpression="SubCategoryName" /> </Columns> </asp:GridView>
El control GridView muestra los valores de las tablas Product, ProductSubCategory y UnitMeasure.
Puede ordenar y paginar a través de los registros.
No hay comentarios:
Publicar un comentario