2008-08-18 17 views
3

J'utilise la grille Infragistics et j'ai du mal à utiliser une liste déroulante comme sélecteur de valeur pour l'une de mes colonnes.UltraWebGrid: Comment utiliser une liste déroulante dans une colonne

J'ai essayé de lire la documentation, mais la documentation d'Infragistics n'est pas très bonne. J'ai aussi jeté un oeil à ce discussion sans aucune chance.

Ce que je fais jusqu'à présent:

col.Type = ColumnType.DropDownList; 
col.DataType = "System.String"; 

col.ValueList = myValueList; 

myValueList est:

ValueList myValueList = new ValueList(); 

myValueList.Prompt = "My text prompt"; 
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText; 

foreach(MyObjectType item in MyObjectTypeCollection) 
{ 
    myValueList.ValueItems.Add(item.ID, item.Text); // Note that the ID is a string (not my design) 
} 

Quand je regarde la page, je me attends à une liste déroulante dans les cellules pour cette colonne, mais mes colonnes sont vides.

Répondre

1

J'ai trouvé ce qui était faux.

La colonne doit autoriser les mises à jour.

uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes; 
2

Voici un exemple d'une de mes pages:

UltraWebGrid uwgMyGrid = new UltraWebGrid(); 
uwgMyGrid.Columns.Add("colTest", "Test Dropdown"); 
uwgMyGrid.Columns.FromKey("colTest").Type = ColumnType.DropDownList; 
uwgMyGrid.Columns.FromKey("colTest").ValueList.ValueListItems.Insert(0, "ONE", "Choice 1"); 
uwgMyGrid.Columns.FromKey("colTest").ValueList.ValueListItems.Insert(1, "TWO", "Choice 2"); 
0
public void MakeCellValueListDropDownList(UltraWebGrid grid, string columnName, string valueListName, string[] listArray) 
    { 
     //Set the column to be a dropdownlist 
     UltraGridColumn Col = grid.Columns.FromKey(columnName);    
     Col.Type = ColumnType.DropDownList; 
     Col.DataType = "System.String"; 

     try 
     { 
      ValueList ValList = grid.DisplayLayout.Bands[0].Columns.FromKey(columnName).ValueList; 
      ValList.DataSource = listArray; 
      foreach (string item in listArray) 
      { 
       ValList.ValueListItems.Add(item); 
      } 
      ValList.DataBind(); 
     } 
     catch (ArgumentException) 
     { 

     } 
    }