2010-05-27 3 views
0

Как заменить значение ячейки описанием. Это моя сеткаЗаменить значение столбца на описание

<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 во время выполнения?

ответ

0

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

+0

Как это сделать? можете ли вы показать мне какую-то ссылку? Уже попробовать, но не нашел – shoden

+0

Есть много примеров того, как сделать dataview. Укажите источник данных в dataview. Поскольку вы вытаскиваете поле из другой таблицы, вы должны выполнить запрос sql для внутреннего соединения, чтобы вытащить это поле. – N0Alias

0

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

Смежные вопросы