UltraWebGrid :Comment utiliser une liste déroulante dans une colonne
-
08-06-2019 - |
Question
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.
J'ai essayé de lire la documentation mais la documentation d'Infragistics n'est pas très bonne.J'ai aussi jeté un oeil à ça discussion sans chance.
Ce que je fais jusqu'à présent :
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
où 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)
}
Lorsque je regarde la page, je m'attends à voir une liste déroulante dans les cellules de cette colonne, mais mes colonnes sont vides.
La solution 2
J'ai trouvé ce qui n'allait pas.
La colonne doit autoriser les mises à jour.
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
Autres conseils
Voici un exemple tiré 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");
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)
{
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow