Asp.net 如何使用所有可能的SerieChartType选项填充下拉框?

Asp.net 如何使用所有可能的SerieChartType选项填充下拉框?,asp.net,drop-down-menu,asp.net-charts,Asp.net,Drop Down Menu,Asp.net Charts,我希望在下拉框中填入每个可能的系列图表类型,以便我的用户可以选择适当的图表类型 如何遍历SeriesChartType集合(它位于命名空间System.Web.Ui.DataVisualization.Charting)并返回每个可能的选项,以便将其添加到下拉框中 谢谢。foreach(Enum.GetValues中的ChartType(typeof(System.Web.UI.DataVisualization.Charting)) foreach (ChartType in Enum.Get

我希望在下拉框中填入每个可能的
系列图表类型
,以便我的用户可以选择适当的图表类型

如何遍历
SeriesChartType
集合(它位于命名空间
System.Web.Ui.DataVisualization.Charting
)并返回每个可能的选项,以便将其添加到下拉框中

谢谢。

foreach(Enum.GetValues中的ChartType(typeof(System.Web.UI.DataVisualization.Charting))
foreach (ChartType in Enum.GetValues(typeof(System.Web.UI.DataVisualization.Charting))
{
    //Add an option the the dropdown menu
    // Convert.ToString(ChartType) <- Text of Item
    // Convert.ToInt32(ChartType) <- Value of Item
}
{ //在下拉菜单中添加一个选项
//Convert.ToString(ChartType)您可以在
DataBind
事件处理程序中绑定数据:

public override void DataBind()
{
    ddlChartType.DataSource =
        Enum.GetValues(typeof(SeriesChartType))
            .Cast<SeriesChartType>()
            .Select(i => new ListItem(i.ToString(), i.ToString()));
    ddlChartType.DataBind();
}

下面是一个通用函数:

// ---- EnumToListBox ------------------------------------
//
// Fills List controls (ListBox, DropDownList) with the text 
// and value of enums
//
// Usage:  EnumToListBox(typeof(MyEnum), ListBox1);

static public void EnumToListBox(Type EnumType, ListControl TheListBox)
{
    Array Values = System.Enum.GetValues(EnumType);

    foreach (int Value in Values)
    {
        string Display = Enum.GetName(EnumType, Value);
        ListItem Item = new ListItem(Display, Value.ToString());
        TheListBox.Items.Add(Item);
    }
}

这在VB中对我很有效-我必须实例化一个新的
SeriesChartType
实例,它允许我使用
[Enum].GetNames
方法

然后,我可以将它们添加到下拉框中,如图所示:

Dim z As New SeriesChartType  
For Each charttype As String In [Enum].GetNames(z.GetType)  
    Dim itm As New ListItem  
    itm.Text = charttype  
    ddl_ChartType.Items.Add(itm)  
Next

感谢大家的回答。mrK有一个很好的C语言来替代这个VB代码。

这是我最初尝试的方法,我认为这在C语言中是有效的,但在VB中TypeOf的工作方式不同,我收到了错误
System.Web.UI.DataVisualization.Charting'是一个名称空间,不能用作表达式。
我已经发布了一个在VB中对我有效的nswer,但在C变体中为+1。
Dim z As New SeriesChartType  
For Each charttype As String In [Enum].GetNames(z.GetType)  
    Dim itm As New ListItem  
    itm.Text = charttype  
    ddl_ChartType.Items.Add(itm)  
Next