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;

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.

Était-ce utile?

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
scroll top