una sugerencias lista desplegable dentro cuadro con como combinado búsqueda busqueda buscar autorrelleno automática automatica autocompletar vb.net combobox infragistics

vb.net - sugerencias - La lista desplegable solo debe mostrar el miembro de la pantalla



como buscar dentro de una lista desplegable (3)

UltraCombo generará todas las columnas automáticamente. Puede agregar la columna que desee antes de configurar el origen de datos y establecer cboUltra.DisplayLayout.NewColumnLoadStyle en NewColumnLoadStyle.Hide o puede ocultar todas las columnas, excepto la que desee después de haber sido creada, al recorrerlas en bucle en el evento InitializeLayout y poniéndolos todos ocultos excepto el que quieras.

También puede ver UltraComboEditor ya que solo muestra una sola columna. Si estas son opciones para ti dependerán de las características que necesites en tu menú desplegable.

He vinculado una colección a ultracombo y he especificado el value member y el de display member . Las colecciones tienen muchas columnas. Ahora tengo que mostrar solo una columna en la pantalla y una columna asignada al value member . Ahora veo que todas las columns de las colecciones se muestran como multicolumn .

//Código

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

¿Cómo puedo lograr eso?


En C # puedes probar lo siguiente: -> Agrega "ultraCombo1" como tu ultra combo ... en la carga de formularios prueba con el siguiente código:

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; }

Su ultracombo se completará con un miembro de valor de "ID" y un miembro de pantalla de "Nombre" solo ..


Aquí hay un método de extensión que ocultará todas las columnas además de la columna DisplayMember .

<Extension()> Public Sub ShowOnlyDisplayMemberColumn(this As UltraCombo) Dim columnName As String = this.DisplayMember For Each band As UltraGridBand In this.DisplayLayout.Bands For i As Integer = 0 To band.Columns.Count - 1 Dim column As UltraGridColumn = band.Columns(i) If (column.Key = columnName) Then column.Hidden = False column.Width = this.Width Else column.Hidden = True End If Next Next End Sub