Спасибо за ваш ответ singhm0077. Я немного смущен присоединяюсь, и, к сожалению, он не работает, как я думал. К счастью, я нашел другое решение.
Поскольку нет столбца DepartmentName в таблице Лектор, я должен был создать частичный класс таблицы лектора, потому что я собирался связать данные из лектора таблицу и я определил свойство DepartmentName, который добавил столбец в таблице базы данных.
public partial class Lecturer
{
public string DepartmentName
{
get;
set;
}
}
Конструкция часть:
<ext:GridPanel ID="grid1" runat="server" Width="600px" Header="false">
<Store>
<ext:Store ID="store1" runat="server">
<Model>
<ext:Model ID="model1" runat="server">
<Fields>
<ext:ModelField Name="LecturerID" Type="Int" />
<ext:ModelField Name="Name" Type="String" />
<ext:ModelField Name="DepartmentName" Type="String" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:Column ID="colLecturerID" runat="server" Flex="1" DataIndex="LecturerID" Text="Lecturer ID"></ext:Column>
<ext:Column ID="colName" runat="server" Flex="1" DataIndex="Name" Text="Name"></ext:Column>
<ext:Column ID="colDepartmentName" runat="server" Flex="1" DataIndex="DepartmentName" Text="Department Name"></ext:Column>
</Columns>
</ColumnModel>
</ext:GridPanel>
И используя Linq2Sql, код за его части:
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
this.store1.DataSource = GetDataToBind();
this.store1.DataBind();
}
}
private List<Lecturer> GetDataToBind()
{
DataBaseDataContext db = new DataBaseDataContext();
List<Lecturer> lstLecturers = db.Lecturers.OrderBy(x => x.LecturerID).ToList();
foreach (Lecturer lecturer in lstLecturers)
{
lecturer.DepartmentName = lecturer.Department.Name;
}
return lstLecturers;
}
Наконец, если база данных заключаются в следующем:
Выход будет выглядеть так:
Тем не менее, я не знаю, если его лучший способ это сделать или нет. Тем не менее, его работа все время.
Я попытался, но ошибка говорит: «Анонимный тип не может иметь несколько свойств с тем же именем». – FREAKYHUNTER
@FREAKYHUNTER Я обновил свой код, это решит вашу проблему – singhm0077