将DataTable分配给SqlDataSource

时间:2011-09-20 11:42:27

标签: c# .net data-binding devexpress

我的ASP.NET项目中有一个自定义数据访问层。它转到db并检索所需的所有数据并将其作为DataTable对象返回。 我想将其中一个DataTable绑定到DevExpress ComboBox控件:

var productsDal = DalProviderFactory.Instance.GetProductsDal();
cbProducts.DataSource = productsDal.GetAllProductNames(); //--> One-column DataTable object is returned here.
cbProducts.DataMember = "ProductName"; //--> Specifying name of the column.
cbProducts.DataBind(); 

这不起作用;它肯定会绑定一些但不能正确显示它:

enter image description here

确定。我发现ComboBox实际上接受SqlDataSource对象作为其DataSource。所以我试图配置一个:

<asp:SqlDataSource ID="dsProducts" runat="server" />

现在我没有连接到db本身,而是想使用我的DAL并以某种方式将数据表分配给SqlDataSource。有没有办法做到这一点?

提前致谢。

2 个答案:

答案 0 :(得分:1)

巴希尔

使用ASPxComboBox的TextField属性:

<dx:ASPxComboBox runat="server" TextField="HERE" />

答案 1 :(得分:0)

设置DisplayMember应解决问题。