0
このRadGridにJOINを使用するEFデータソースがあります。クエリでJOINが使用されている場合にエンティティを更新します。
var result = db.Programmes.Join(db.Faculties, prog => prog.FacultyID, fac => fac.ID,
(prog, fac) => new {
ID = prog.ID,
FacultyID = prog.FacultyID,
FacultyText = fac.FacultyName_mk,
StudyLevelID = prog.StudyLevelID,
Ects = prog.Ects
}).ToList();
RadGrid1.DataSource = result;
これまでのところとても良いです。データが正しく表示されています。
問題は、新しいアイテム(プログラム)を挿入したり、既存のアイテム(プログラム)を更新したい場合に発生します。
protected void RadGrid1_UpdateCommand(object sender, GridCommandEventArgs e)
{
GridEditableItem item = e.Item as GridEditableItem;
// get the ID
Int32 id = (Int32)item.GetDataKeyValue("ID");
// get the current record
var record = db.Programmes.Where(r => r.ID == id).FirstOrDefault();
//update entity's information with what was entered in the RadGrid
item.UpdateValues(record);
db.SaveChanges();
// close the edit form
RadGrid1.MasterTableView.ClearEditItems();
}
このことは、FacultyID以外のすべての列を更新します。これはRadComboBoxコントロールから取得する必要があります。
<EditItemTemplate>
<telerik:RadComboBox runat="server" ID="cmbFacultyID" />
</EditItemTemplate>
私はItemDataBound内からコンボを入札し、Facultiesエンティティから読み込みます。
このComboBoxからFacultyIDを読み取るプログラムテーブルを更新するにはどうすればよいですか?
は、それは、例えば、新たに選択された教員を割り当てる私は、クエリから取得した直後に私はちょうどレコードを更新する必要があることになりますので、多くの