绑定时在下拉列表DataTextField中连接两个数据集列

本文关键字:两个 数据集 连接 定时 下拉列表 DataTextField 绑定 | 更新日期: 2023-09-27 17:50:23

我有下拉列表,我必须从后端绑定。我使用数据集来绑定数据,但需要在下拉列表的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();

如果我使用单列,下拉列表绑定良好,但当连接它们时,它会给出错误数据绑定:"System.Data。DataRowView'不包含名为'brachName-classYear'的属性。绑定Data时。

正常运行的代码是:

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和class,比如M.Sc-1st Year。请帮助。提前感谢。

绑定时在下拉列表DataTextField中连接两个数据集列

您最好的选择是在查询中指定新列,然后将其用作文本字段:

string sqlGetClass = "select [pk_classID], [brachName] + '-' + [classYear] as [classText] from tbl_studentClass";
...
ddlClass.DataTextField = "classText";