这不是我第一次在这个项目中绑定RadAutoCompleteBox,但由于某种原因 这一个 不想绑定。< / p>
这是我得到的错误:
'无法在'BookingPatientName'上定义DataSource或DataSourceID 当它使用模型绑定时。'
以下是我如何进行绑定:
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let footerView = UIView()
let imgView = UIImageView()
//Write UIImageView required code
footer.addSubView(imgView)
return footerView
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return HEIGHT_YOU_WANT
}
我基于this answer to an issue binding the control采用了这种方法。它使用控件的private void LoadPatients(RadAutoCompleteBox ctrl)
{
int.TryParse(DoctorList.SelectedItem.Value, out int selectedDoctorId);
var helper = new PatientsHelper();
var items = helper.ListDoctorPatients(selectedDoctorId);
ctrl.DataSource = items;
ctrl.DataTextField = "Surname";
ctrl.DataValueField = "PatientID";
ctrl.DataBind();
}
事件来绑定:
OnLoad
`PatientsHelper函数如下所示:
<telerik:RadAutoCompleteBox runat="server" ID="BookingPatientName"
OnLoad="BookingPatientName_Load" />
protected void BookingPatientName_Load(object sender, EventArgs e)
{
var ctrl = (sender as RadAutoCompleteBox);
LoadPatients(ctrl);
}
在另一个页面上,我正在绑定另一个自动完成,如下所示:
public List<Patient> ListDoctorPatients(int doctorId)
{
using (var db = new ApplicationDbContext())
{
var patients = db.Patients.Where(x => x.DoctorID == doctorId).ToList();
return patients;
}
}
我还没有更新它来实现帮助程序类,但它工作正常。
我不明白为什么一个工作在另一个工作的地方,因为两者都直接绑定到我的数据源之外的对象列表......