根据选择条件显示行,
时间:2011-05-09 来源:lice
下图的效果:
其实下面不是一个如gridview之类的控件,
每一行都是在后台的HTML代码计算之后输出的,
记得做这个功能的时候做的特麻烦,先取选择了几项,然后在判断选择的是哪一项和几项,再根据选择的添加后台的HTML代码,
贴个选择4项的时候的代码,1 对应第一个 1 是第2个选择 2是第3个 22第4个 ,3第5个 33第六个,
#region length=3
else if (check.Length == 3)
{
string a = check[0];
string b = check[1];
string c = check[2];
//登录
if (a == "1" || b == "1" || c == "1" )
{
sbPrice.Append(string.Format("<td>{0}</td>", dtInfo.Rows[i]["loginCount"].ToString()));
}
else
{
login.Visible = false;
td_login.Visible = false;
}
//登录次数
if (a == "11" || b == "11" || c == "11")
{
if (Convert.ToDouble(dtInfo.Rows[i]["loginCount"]) == Convert.ToDouble(dtInfo.Rows[i + 1]["loginCount"]))
{
sbPrice.Append("<td>0%</td>");
}
else if (Convert.ToDouble(dtInfo.Rows[i + 1]["loginCount"]) == 0)
{
sbPrice.Append("<td>" + dtInfo.Rows[i]["loginCount"] + "00%</td>");
}
else
{
sbPrice.Append(string.Format("<td>{0}</td>", (((Convert.ToDouble(dtInfo.Rows[i]["loginCount"]) - Convert.ToInt32(dtInfo.Rows[i + 1]["loginCount"])) / Convert.ToInt32(dtInfo.Rows[i + 1]["loginCount"])) * 100).ToString("##.00") + "%"));
}
}
else
{
loginB.Visible = false;
td_loginB.Visible = false;
}
//询价
if (a == "2" || b == "2" || c == "2")
{
sbPrice.Append(string.Format("<td>{0}</td>", dtInfo.Rows[i]["PriceCount"].ToString()));
}
else
{
price.Visible = false;
td_price.Visible = false;
}
//询价环比
if (a == "22" || b == "22" || c == "22")
{
if (Convert.ToDouble(dtInfo.Rows[i]["PriceCount"]) == Convert.ToDouble(dtInfo.Rows[i + 1]["PriceCount"]))
{
sbPrice.Append("<td>0%</td>");
}
else if (Convert.ToDouble(dtInfo.Rows[i + 1]["PriceCount"]) == 0)
{
sbPrice.Append("<td>" + dtInfo.Rows[i]["PriceCount"] + "00%</td>");
}
else
{
sbPrice.Append(string.Format("<td>{0}</td>", (((Convert.ToDouble(dtInfo.Rows[i]["PriceCount"]) - Convert.ToInt32(dtInfo.Rows[i + 1]["PriceCount"])) / Convert.ToInt32(dtInfo.Rows[i + 1]["loginCount"])) * 100).ToString("##.00") + "%"));
}
}
else
{
priceB.Visible = false;
td_priceB.Visible = false;
}
//打印
if (a == "3" || b == "3" || c == "3")
{
sbPrice.Append(string.Format("<td>{0}</td>", dtInfo.Rows[i]["printCount"].ToString()));
}
else
{
prints.Visible = false;
td_print.Visible = false;
}
//打印环比
if (a == "33" || b == "33" || c == "33" )
{
if (Convert.ToDouble(dtInfo.Rows[i]["printCount"]) == Convert.ToDouble(dtInfo.Rows[i + 1]["printCount"]))
{
sbPrice.Append("<td>0%</td>");
}
else if (Convert.ToDouble(dtInfo.Rows[i + 1]["printCount"]) == 0)
{
sbPrice.Append("<td>" + dtInfo.Rows[i]["printCount"] + "00%</td>");
}
else
{
sbPrice.Append(string.Format("<td>{0}</td>", (((Convert.ToDouble(dtInfo.Rows[i]["printCount"]) - Convert.ToInt32(dtInfo.Rows[i + 1]["printCount"])) / Convert.ToInt32(dtInfo.Rows[i + 1]["printCount"])) * 100).ToString("##.00") + "%"));
}
}
else
{
printSB.Visible = false;
td_printB.Visible = false;
}
}
#endregion
做的太麻烦了,,谁有简单的方法,参考参考。
相关阅读 更多 +










