Заменить значение столбца описанием - PullRequest
0 голосов
/ 27 мая 2010

Как заменить значение ячейки их описанием. Это моя сетка

<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" GridLines="None">
     <HeaderContextMenu EnableAutoScroll="True">
     </HeaderContextMenu>
     <MasterTableView AutoGenerateColumns="False" DataKeyNames="OrderID" DataSourceID="SqlDataSource1">
        <RowIndicatorColumn>
           <HeaderStyle Width="20px"></HeaderStyle>
        </RowIndicatorColumn>
        <ExpandCollapseColumn>
           <HeaderStyle Width="20px"></HeaderStyle>
        </ExpandCollapseColumn>
        <Columns>
           <telerik:GridBoundColumn DataField="OrderID" DataType="System.Int32" HeaderText="OrderID"
              ReadOnly="True" SortExpression="OrderID" UniqueName="OrderID">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="CustomerID" HeaderText="CustomerID" SortExpression="CustomerID"
              UniqueName="CustomerID">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="OrderDate" DataType="System.DateTime" HeaderText="OrderDate"
              SortExpression="OrderDate" UniqueName="OrderDate">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="RequiredDate" DataType="System.DateTime" HeaderText="RequiredDate"
              SortExpression="RequiredDate" UniqueName="RequiredDate">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="ShipName" HeaderText="ShipName" SortExpression="ShipName"
              UniqueName="ShipName">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="ShipAddress" HeaderText="ShipAddress" SortExpression="ShipAddress"
              UniqueName="ShipAddress">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="ShipCity" HeaderText="ShipCity" SortExpression="ShipCity"
              UniqueName="ShipCity">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="ShipRegion" HeaderText="ShipRegion" SortExpression="ShipRegion"
              UniqueName="ShipRegion">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="ShipPostalCode" HeaderText="ShipPostalCode" SortExpression="ShipPostalCode"
              UniqueName="ShipPostalCode">
           </telerik:GridBoundColumn>
           <telerik:GridBoundColumn DataField="ShipCountry" HeaderText="ShipCountry" SortExpression="ShipCountry"
              UniqueName="ShipCountry">
           </telerik:GridBoundColumn>
        </Columns>
     </MasterTableView>
  </telerik:RadGrid>

Эта сетка будет загружать таблицу заказов. Как заменить CustomerID на CompanyName, полученную из таблицы Customers во время выполнения?

Ответы [ 2 ]

0 голосов
/ 01 июня 2010

Вы можете использовать LinqDataSource с моделью Linq-to-SQL. Если у Orders есть поле внешнего ключа, которое ссылается на таблицу Customers, то разработчик Linq-to-SQL автоматически создаст для вас соответствующую ассоциацию при перетаскивании таблиц в дизайнер. Если отношение FK не существует в БД, вы все равно можете очень просто смоделировать его в Linq-to-SQL. Как только связь определена, класс Orders получает новое свойство, которое, вероятно, называется Customer, которое будет предоставлять объект Customer. Затем вы можете получить к нему декларативный или программный доступ, просто используя точечную запись, например: DataField = "Customer.Name"

0 голосов
/ 27 мая 2010

Свяжите сетку с объектом DataView, который включает поле CompanyName из таблицы Customers.

...