【问题标题】:Bind RadComboBox to ObjectDataSource using DataSet使用 DataSet 将 RadComboBox 绑定到 ObjectDataSource
【发布时间】:2011-10-14 20:34:56
【问题描述】:

我正在尝试将 RadComboBox 绑定到其 select 方法返回 DataSet 对象的 ObjectDataSource。我收到一个错误:“'FieldName',既不是 DataColumn 也不是表 Table 的 DataRelation”。只是为了确保我没有发疯,我尝试了同样效果的 DropDownList 。我在Telerik's docs 中发现他们支持使用返回 IEnumerable 对象的 ObjectDataSource。那么,当 RadControls 使用 DataSet 时不支持使用 ObjectDataSource,我是否正确?真的吗?

【问题讨论】:

  • 是强类型数据集吗?

标签: asp.net telerik radcombobox


【解决方案1】:

您提供的链接指向不同的控件。有关组合框,请参阅here,它是您问题标题中的控件。

组合框控件可以轻松地接受来自数据集的数据表对象作为组合框中显示内容的来源。

然后是组合框控件:

选择 GetData 方法(唯一选项),然后配置您的组合框:

运行:

编辑:

如果您已经在使用数据集和 SqlDataAdapter,似乎没有理由使用 ObjectDataSource:

    DataSet myDataset = new DataSet();

    SqlConnection con = new SqlConnection(@"Data Source=J-PC\SQLEXPRESS;Initial Catalog=SO;Integrated Security=True");

    SqlDataAdapter adapter = new SqlDataAdapter(@"SELECT TOP (25) Leg_FirstName FROM GRS_Legislator ORDER BY Leg_FirstName", con);

    adapter.Fill(myDataset);

    RadComboBox1.DataTextField = "Leg_FirstName";
    RadComboBox1.DataValueField = "Leg_FirstName";
    RadComboBox1.DataSource = myDataset;
    RadComboBox1.DataBind();

【讨论】:

  • 感谢您的详细回复。我没有使用您描述的方法,但最终似乎我们都通过 ObjectDataSource 向组合框提供了一个 DataSet 对象。我的来自自定义数据访问层,我不明白为什么会出错。我错过了什么吗?
  • 我想这取决于您如何设置组合框以适应它显示的数据。如果您通过代码执行此操作,则必须确保指定更多变量以使组合框显示您希望它显示的内容。
  • 你能指出这些变量可能是什么吗?我假设我可以将组合框指向数据集,然后告诉它表中用于值和文本的字段的名称。有没有我遗漏的步骤?
  • 快速提问,在您的数据集上,您只有一个数据集,还是像我的回答中的第一个 SS 一样的表格适配器?
  • 我使用 SqlDataAdapter 填充返回给 ObjectDataSource 的 DataSet
猜你喜欢
  • 2013-05-09
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多