NHibernate IList как источник данных Drop Down? - PullRequest
0 голосов
/ 09 мая 2011

Я пытаюсь заполнить раскрывающийся список объекта Nhibernate, но у меня возникают проблемы с его корректной работой.Я создал объект и сопоставил его с помощью следующего

public class Status
{
    public virtual int StatusId { get; set; }
    public virtual string StatusName { get; set; }

}

...

<class name="CM.Core.Status, CM.Core" table="refStatus">
    <id name="StatusId" column="statusId" type="Int32">
    <generator class="native"></generator>
    </id>
<property name="StatusName" column="status" type="string"/>
</class>

Затем я заполнил его, используя

    public IList<Status> GetStatuses()
    {
        return _session.CreateQuery("select s from Status s")
            .List<Status>();
    }

Наконец, язаполните мой раскрывающийся список, используя

        IList<Status> status = _provider.GetStatuses();
        ddlStatus.DataSource = status;
        ddlStatus.DataBind();

Однако он заполняет значения и текст моим именем класса вместо значений состояния правильное число раз
CM.Core.Status
CM.Core.Статус
CM.Core.Status
CM.Core.Status

Является ли IList неправильным типом коллекции, который будет использоваться в этой ситуации?Должен ли я использовать это как что-то другое?Есть ли способ получить доступ к свойствам класса до привязки данных?

Ответы [ 2 ]

3 голосов
/ 09 мая 2011

Вам необходимо указать текстовые поля данных и поля значений данных.

   ddlStatus.DataTextField = "StatusName";
   ddlStatus.DataValueField = "StatusId";
2 голосов
/ 09 мая 2011

Вам нужно установить

ddl.DisplayMember = "StatusName";
ddl.ValueMemeber = "StatusId";
...