开发者

Binding DropDownList with array of DataRow

I am binding the DropDownList with DataRow but it is throwing an exception:

DataBinding: 'System.Data.DataRow' does not contain a property with the name 'CourseEligiblili开发者_如何学Pythonty'.

Code:

DataRow[] dRow = dt.Select("CourseID=" + ddlCourse.SelectedValue);
ddlBeStream.DataTextField = "CourseEligiblility";
ddlBeStream.DataValueField = "ID";
ddlBeStream.DataSource = dRow;
ddlBeStream.DataBind();


Just use the function that copies DataRow Array to a new DataTable and returns it.

//  .
//  .
//  .
ddlBeStream.DataSource = dRow.CopyToDataTable;
ddlBeStream.DataBind();


Take DataView and filter it by field

for example.

DataView dv = dt.DefaultView;
dv.RowFilter = "colums=1";
DropDownList1.DataSource = dv;
DropDownList1.DataTextField = "colName";
DropDownList1.DataValueField = "colID";
DropDownList1.DataBind();


Try using ddlBeStream.DataBind();


I think you have made a mistake writing the name of the field. Try the following:

ddlBeStream.DataTextField = "CourseEligibility";


For people still using older versions of ASP.net:

DataRow[] dRow = dt.Select("CourseID=" + ddlCourse.SelectedValue);
//Copy Datatable and import found rows
System.Data.DataTable dt_Temp = dt.Clone();    
foreach (System.Data.DataRow dr in drRow) { dt_Temp.ImportRow(dr); }

ddlBeStream.DataTextField = "CourseEligiblility";
ddlBeStream.DataValueField = "ID";
//Use new DataTable
ddlBeStream.DataSource = dt_Temp;
ddlBeStream.DataBind();
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜