ComboBox in UltraGrid
-
13-09-2019 - |
Domanda
devo fare un po 'di manutenzione su una vecchia applicazione VB.NET (Visual Studio 2003) che utilizza Infragistics NetAdvantage 2006.
Ho bisogno di aggiungere una colonna a un controllo UltraGrid esistente. Questa nuova colonna deve agire come un ComboBox, che consente la selezione da un elenco di valori.
Ho aggiunto la nuova colonna, e impostare lo stile di DropDownValidate. Ho creato un valueList e assegnato alla nuova colonna.
In fase di esecuzione non ottengo i risultati attesi. Che cosa mi manca?
Soluzione
Qualcosa del genere dovrebbe funzionare per voi:
var dataTable = new DataTable( "Table1" );
dataTable.Columns.Add( "Column1" );
dataTable.Rows.Add( dataTable.NewRow() );
ultraGrid1.DataSource = dataTable;
var valueList = new ValueList();
valueList.ValueListItems.Add( "dataValue1" , "displayText1" );
valueList.ValueListItems.Add( "dataValue2" , "displayText2" );
valueList.ValueListItems.Add( "dataValue3" , "displayText3" );
ultraGrid1.DisplayLayout.Bands[0].Columns[0].ValueList = valueList;
// Setting the ColumnStyle to DropDownList ensures that the user will not
// be able to type in the cell (exclude this line if you want to allow typing)
ultraGrid1.DisplayLayout.Bands[0].Columns[0].Style = ColumnStyle.DropDownList;
// Setting the ButtonDisplayStyle to Always ensures that the UltraGridColumn
// always displays as a ComboBox and not just when the mouse hovers over it
ultraGrid1.DisplayLayout.Bands[0].Columns[0].ButtonDisplayStyle = Infragistics.Win.UltraWinGrid.ButtonDisplayStyle.Always;
Altri suggerimenti
Questo codice funziona per me:
ultraGridValueList.ValueListItems.Add ( "ValueMemeber1", "DisplayMemeber1"); ultraGridValueList.ValueListItems.Add ( "ValueMemeber2", "DisplayMemeber2"); ultraGridValueList.ValueListItems.Add ( "ValueMemeber3", "DisplayMemeber3"); ultraGridValueList.ValueListItems.Add ( "ValueMemeber4", "DisplayMemeber4");
ultraGrid1.DisplayLayout.Bands [0] .COLONNE [ "myDropDownCol"] = valueList ultraGridValueList;.
Io in genere lascio lo stile di default.