DevExpress LookUpEdit SelectedText Проблема - PullRequest
0 голосов
/ 18 февраля 2010

У меня есть некоторые lookupedits, связанные с некоторыми списками, где пользователь может выбрать значения и затем сохранить в базе данных. Я использую события EditValueChanged для обработки значений. Пока что все хорошо!

Теперь мне нужно взять значения из базы данных и назначить их для поиска. Я не использую BindingSource для всего объекта, потому что lookupedits связаны с независимыми списками. Как я и предполагал и читал из документации, SelectedText - это то, что мне нужно, но когда я назначаю нужную строку, она просто не работает и устанавливает пустую строку. То же поведение для элемента управления DateEdit, я присваиваю значение DateTime и, кажется, имеет это значение, но не показывает его. Я мог бы установить свойство EditValue, но я снова ничего не обнаружил в LookUpEdit.

Как заставить LookUpEdit показывать мне значение, которое я хочу, в основном перейти к строке с заданным значением и показать текст в редакторе, либо установить SelectedText и сопоставить его со своим списком и показать его!

Полагаю, это должно быть проще ... Любая помощь приветствуется!

Пример:

myLookUpEdit.SelectedText = "George" // The LookUpEdit is Binded to a List<Names> and has the name George.

Спасибо

1 Ответ

1 голос
/ 22 февраля 2010

Всякий раз, когда я устанавливаю значение LookupEdit, я использую EditValue.

Необходимо убедиться, что вы установили для свойства ValueMember LookupEdit все, что хотите отображать в EditValue.DisplayMember будет отображаться при закрытии LoodupEdit.Этим свойствам можно передать строку с именем свойства, которое вы хотите в своем объекте.

Установка значения SelectedText имеет тот же эффект, что и ввод в элемент управления, насколько мне известно.

public partial class Form1 : Form
{
    List<Name> MyNames = new List<Name>();

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        MyNames.Add(new Name("John", "Smith"));
        MyNames.Add(new Name("John", "Doe"));
        MyNames.Add(new Name("Jane", "Doe"));
        MyNames.Add(new Name("Jane", "Smith"));

        lookUpEdit1.Properties.DataSource = MyNames;
        lookUpEdit1.Properties.DisplayMember = "FirstName";
        lookUpEdit1.Properties.ValueMember = "FirstName";

    }

    private void lookUpEdit1_EditValueChanged(object sender, EventArgs e)
    {

        string mystring = lookUpEdit1.EditValue.ToString();

        lookUpEdit1.EditValue = mystring;
    }
}

public class Name
{
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public Name(string firstName, string lastName)
    {
        this.FirstName = firstName;
        this.LastName = lastName;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...