Привязать RadComboBox к ObjectDataSource с помощью DataSet

Я пытаюсь связать RadComboBox с ObjectDataSource, метод select которого возвращает объект DataSet. Я получаю сообщение об ошибке: "'FieldName' не является ни DataColumn, ни DataRelation для таблицы Table". Просто чтобы убедиться, что я не сумасшедший, я попробовал то же самое с DropDownList, который работал отлично. В документах Telerik я обнаружил, что они поддержка использования ObjectDataSource, который возвращает объекты IEnumerable. Итак, я прав, что RadControls не поддерживает использование ObjectDataSource, когда он использует DataSet? Действительно?


person Sean Rich    schedule 14.10.2011    source источник
comment
Является ли это строго типизированным набором данных?   -  person James Johnson    schedule 15.10.2011


Ответы (1)


Предоставленная вами ссылка указывает на другой элемент управления. См. здесь для поле со списком, которое является элементом управления в заголовке вашего вопроса.

Элемент управления полем со списком легко принимает объекты данных из наборов данных в качестве источника того, что должно отображаться в поле со списком.

введите здесь описание изображения

Затем элемент управления со списком:

введите здесь описание изображения

Выберите метод GetData (единственный вариант), а затем настройте поле со списком:

введите здесь описание изображения

Бегать:

введите здесь описание изображения

ИЗМЕНИТЬ:

Кажется, нет причин использовать ObjectDataSource, если вы уже используете набор данных и SqlDataAdapter:

    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();
person KreepN    schedule 14.10.2011
comment
Спасибо за подробный ответ. Я не использовал описанный вами подход, но в конечном итоге кажется, что мы оба передаем объект DataSet в поле со списком через ObjectDataSource. Мой исходит из пользовательского уровня доступа к данным, и я не понимаю, почему это должно выдавать ошибку. Я что-то пропустил? - person Sean Rich; 15.10.2011
comment
Я думаю, это зависит от того, как вы настраиваете поле со списком в отношении отображаемых данных. Если вы делаете это с помощью кода, вам нужно будет указать еще несколько переменных, чтобы поле со списком отображало то, что вы хотите. - person KreepN; 15.10.2011
comment
Можете ли вы указать мне, что это могут быть за переменные? Я предположил, что могу указать поле со списком на набор данных, а затем сообщить ему имена полей в таблице, которые будут использоваться для значения и текста. Есть ли шаг, который я пропустил? - person Sean Rich; 15.10.2011
comment
Быстрый вопрос: в вашем наборе данных у вас есть только набор данных или это табличный адаптер, подобный тому, который напоминает мой первый SS в моем ответе? - person KreepN; 15.10.2011
comment
Я использую SqlDataAdapter для заполнения DataSet, который возвращается в ObjectDataSource. - person Sean Rich; 15.10.2011
comment
Поймите вашу точку зрения о настройке свойств в коде. Я пытался найти что-то более элегантное. Спасибо, что остаетесь со мной. - person Sean Rich; 15.10.2011