2

みなさん、こんにちは。

対応する編集値を指定するときにlookupedit表示テキストを取得したい。

例:与えている場合

LookupEdit1.Editvalue="3";

次に、の表示テキストを表示する必要がありますEditvalue="3"

助けてください

//コード

 cmbChemical.Properties.DataSource = _lab.selectChemicals();
        cmbChemical.Properties.DisplayMember = "labitem_Name";
        cmbChemical.Properties.ValueMember = "labItem_ID";
        cmbChemical.Properties.BestFitMode = BestFitMode.BestFit;
        cmbChemical.Properties.SearchMode = SearchMode.AutoComplete;

        cmbChemical.Properties.Columns.Add(new LookUpColumnInfo("labitem_Name", 100,  "Chemicals"));
    cmbChemical.Properties.AutoSearchColumnIndex = 1;
4

3 に答える 3

3

少なくともあなたが試みている方法ではできません。、LookUpEditは、その名前が示すように、その値をaで検索しますDataSource。オブジェクトのコレクション。したがって、値を表示する3には、この値を含むオブジェクトのリストを用意し、それをDataSourceコントロールのとして設定する必要があります。

List<string> values = new List<string>();
values.Add("3");
lookUpEdit.Properties.DataSource = values;
lookUpEdit.EditValue = "3";

たぶん、あなたが何をしようとしているのかを特定すれば、私たちはあなたがそれを達成するのを手伝うことができます。

于 2010-09-18T09:29:29.667 に答える
1

必要な動作を取得するために、表示メンバーまたは値メンバーを指定する必要はないと思います。次のコードは、lookupeditが正しく「4」を表示しているフォームを提供します。リストから他の値を選択することもできます。

using System.Collections.Generic;
using System.Windows.Forms;
using DevExpress.XtraEditors;

public class Form1 : Form
{
    public Form1()
    {

        var lookUpEdit1 = new LookUpEdit();
        Controls.Add(lookUpEdit1);

        var source = new List<string>();
        for (var i = 0; i < 10;i++ )
            source.Add(i.ToString());
        lookUpEdit1.Properties.DataSource = source;
        lookUpEdit1.EditValue = "4";
    }

}

コントロールの表示メンバーと値メンバーを設定したために、間違った結果が得られる可能性があります。

于 2010-09-18T10:23:19.300 に答える
1

このコードは私のために働いた。

private void lookUpEdit1_KeyUp(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
    {
        MessageBox.Show((e.OriginalSource as SLTextBox).Text);
    }
}
于 2012-04-18T10:24:55.667 に答える