C# 带图表的Listitems和if语句
我有一个图表,其中我希望能够根据复选框列表添加或删除行。 为此,我提出了以下代码:C# 带图表的Listitems和if语句,c#,asp.net,C#,Asp.net,我有一个图表,其中我希望能够根据复选框列表添加或删除行。 为此,我提出了以下代码: foreach (ListItem lstitem in CBLYear.Items) { if (lstitem.Value == "2014") { Chart3.Series["2014"].XValueMember = "Month"; Chart3.Series["2014"].YValueMemb
foreach (ListItem lstitem in CBLYear.Items)
{
if (lstitem.Value == "2014")
{
Chart3.Series["2014"].XValueMember = "Month";
Chart3.Series["2014"].YValueMembers = "2014";
}
if (lstitem.Value == "2013")
{
Chart3.Series["2013"].XValueMember = "Month";
Chart3.Series["2013"].YValueMembers = "2013";
}
if (lstitem.Value == "2012")
{
Chart3.Series["2012"].XValueMember = "Month";
Chart3.Series["2012"].YValueMembers = "2012";
}
if (lstitem.Value == "2011")
{
Chart3.Series["2011"].XValueMember = "Month";
Chart3.Series["2011"].YValueMembers = "2011";
}
if (lstitem.Value == "2010")
{
Chart3.Series["2010"].XValueMember = "Month";
Chart3.Series["2010"].YValueMembers = "2010";
}
if (lstitem.Value == "2009")
{
Chart3.Series["2009"].XValueMember = "Month";
Chart3.Series["2009"].YValueMembers = "2009";
}
}
页面加载时,图形上没有显示任何内容(如所需)。但是,一旦单击任何一个项目,所有系列都会显示,而不仅仅是我单击的一个。这是为什么?您正在迭代整个项目集合,因此当然每个系列都会显示 您需要检查“Selected”属性。您可以使用LINQ轻松做到这一点:
foreach (ListItem lstitem in CBLYear.Items.Where(l => l.Selected))
{
....
}
请参阅MSDN文档:(特别是“简介”部分)您需要使用
,否则如果从第2个条件开始,您应该使用switch语句,因为在您的代码中,您正在检查许多条件,在switch中,它将只执行特定情况
switch(Convert.ToString(lstitem.Value))
{
case"":
{
// put all your conditions in cases
}
break;
default :
break;
}
我是编程新手,不习惯LINQ。你能解释一下我的电脑在哪里标记它吗。