C# 将DataTable分配给SqlDataSource

C# 将DataTable分配给SqlDataSource,c#,.net,data-binding,devexpress,C#,.net,Data Binding,Devexpress,我的ASP.NET项目中有一个自定义数据访问层。它转到数据库,检索所有需要的数据,并将其作为DataTable对象返回。 我想将其中一个数据表绑定到DevExpress组合框控件: var productsDal = DalProviderFactory.Instance.GetProductsDal(); cbProducts.DataSource = productsDal.GetAllProductNames(); //--> One-column DataTable object

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

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(); 
这不管用;它肯定会绑定某些内容,但无法正确显示:

嗯。我发现ComboBox实际上接受SqlDataSource对象作为其数据源。因此我尝试配置一个:

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

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


提前感谢。

设置
DisplayMember
应该可以解决问题。

巴希尔

使用ASPxComboBox的
TextField
属性:

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


ASPxComboBox Classic中没有DisplayMember属性,我总是想知道为什么DevXpress开发人员将标准名称更改为完全误导的名称:(.WinForms控件中就是这样(有一件特别的事情让我抓狂——当您需要对可视控件使用隐藏而不是可见时)现在我在WebForms中看到了完全相同的内容。:(无论如何,非常感谢!Spasibo!)