4

コレクションを にバインドし、andultracomboを指定しました。コレクションには多くの列があります。ここでは、その中の 1 つの列と に割り当てられた 1 つの列のみを表示する必要があります。コレクション内のすべてがとして表示されるようになりました。value memberdisplay membervalue membercolumnsmulticolumn

//コード

 cboUltra.ValueMember = "LookupValue"
 cboUltra.DisplayMember = "LookupValueDescription"
 cboUltra.DataSource = LoadLookupDetails(Field.LookUpCode)
 UltraGridRow.Cells("FieldValue").ValueList = cboUltra

どうすればそれを達成できますか?

4

3 に答える 3

7

C# では、次のことを試すことができます: --> ウルトラ コンボとして「ultraCombo1」を追加します... フォームの読み込み時に次のコードを試してください:

    private void Form1_Load(object sender, EventArgs e)
    {
        // Fill data in ultracombo datasource
        DataTable dtt = new DataTable();
        dtt.Columns.Add("ID", typeof(int));
        dtt.Columns.Add("Name", typeof(string));
        dtt.Columns.Add("Age", typeof(int));
        dtt.Columns.Add("Address", typeof(string));
        dtt.Columns.Add("Sex", typeof(string));
        dtt.Rows.Add(new object[] {1,"Name1",20,"Address 1","Male"});
        dtt.Rows.Add(new object[] { 2, "Name2", 21, "Address 2", "Male" });
        dtt.Rows.Add(new object[] { 3, "Name3", 22, "Address 3", "Female" });
        dtt.Rows.Add(new object[] { 4, "Name4", 23, "Address 4", "Male" });
        dtt.Rows.Add(new object[] { 5, "Name5", 24, "Address 5", "Female" });
        ultraCombo1.DataSource = dtt;
        ultraCombo1.DataBind();
        //---------------------------------

        // hide all but show "ID" and "Name" only

        ultraCombo1.ValueMember = "ID";
        ultraCombo1.DisplayMember = "Name";
        for (int i = 0; i < ultraCombo1.Rows.Band.Columns.Count; i++)
        {
            ultraCombo1.Rows.Band.Columns[i].Hidden = true;
        }
        ultraCombo1.Rows.Band.Columns["ID"].Hidden = false;
        ultraCombo1.Rows.Band.Columns["Name"].Hidden =  false;                                   

    }

ウルトラコンボには、「ID」の値メンバーと「名前」の表示メンバーのみが入力されます..

于 2014-04-04T10:09:52.087 に答える
2

UltraCombo はすべての列を自動的に生成します。データ ソースを設定する前に必要な列を追加し、cboUltra.DisplayLayout.NewColumnLoadStyle を NewColumnLoadStyle.Hide に設定するか、InitializeLayout イベントでループして作成した後に、必要な列を除くすべての列を非表示にすることができます。必要なものを除いて、すべてを非表示に設定します。

UltraComboEditorを見ることもできます。これは、1 つの列のみを表示します。これがオプションであるかどうかは、ドロップダウンで必要な機能によって異なります。

于 2013-05-31T13:16:19.687 に答える