我有下拉列表,我必须从后端绑定。我使用DataSet绑定数据,但需要在Dropdownlist的datatextfield中连接两个列数据。
这是我的代码。
string sqlGetClass = "select * from tbl_studentClass";
SqlCommand cmdGetClass = new SqlCommand(sqlGetClass, conn);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmdGetClass);
DataSet ds = new DataSet();
da.Fill(ds);
ddlClass.DataSource = ds;
ddlClass.DataTextField = "brachName"+"-"+"classYear";
ddlClass.DataValueField = "pk_classID";
ddlClass.DataBind();
ddlClass.Items.Insert(0, new ListItem("--SELECT--", ""));
conn.Close();
如果我使用单个列,则dropdownlist绑定正常,但是当连接它们时它会给出错误 DataBinding:' System.Data.DataRowView'不包含名称为' brachName-classYear'的属性。 谁绑定数据。
运行良好的代码是:
string sqlGetClass = "select * from tbl_studentClass";
SqlCommand cmdGetClass = new SqlCommand(sqlGetClass, conn);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmdGetClass);
DataSet ds = new DataSet();
da.Fill(ds);
ddlClass.DataSource = ds;
ddlClass.DataTextField = "brachName";
ddlClass.DataValueField = "pk_classID";
ddlClass.DataBind();
ddlClass.Items.Insert(0, new ListItem("--SELECT--", ""));
conn.Close();
但我需要连接branchName和类,如M.Sc-1st Year。 请帮忙。提前致谢。
答案 0 :(得分:2)
您最好的选择是在查询中指定新列,然后将其用作文本字段:
string sqlGetClass = "select [pk_classID], [brachName] + '-' + [classYear] as [classText] from tbl_studentClass";
...
ddlClass.DataTextField = "classText";