Pergunta

Eu tenho que fazer alguma manutenção em um aplicativo VB.NET velha (Visual Studio 2003) que usa Infragistics NetAdvantage 2006.

Eu preciso adicionar uma coluna para um controle UltraGrid existente. Esta nova coluna deve agir como uma caixa de combinação, permitindo a seleção de uma lista de valores.

Eu adicionei a nova coluna, e definir o estilo para DropDownValidate. Eu criei um ValueList e atribuiu-o para a nova coluna.

Em tempo de execução Eu não obter os resultados esperados. O que eu estou ausente?

Foi útil?

Solução

Algo como isso deve funcionar para você:

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;

Outras dicas

Este código funciona para mim:

ultraGridValueList.ValueListItems.Add ( "ValueMemeber1", "DisplayMemeber1"); ultraGridValueList.ValueListItems.Add ( "ValueMemeber2", "DisplayMemeber2"); ultraGridValueList.ValueListItems.Add ( "ValueMemeber3", "DisplayMemeber3"); ultraGridValueList.ValueListItems.Add ( "ValueMemeber4", "DisplayMemeber4");

ultraGrid1.DisplayLayout.Bands [0] .Columns [ "myDropDownCol"] ValueList = ultraGridValueList;.

I geralmente deixar o estilo como padrão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top