根据选择条件显示行,
下图的效果:
其实下面不是一个如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
做的太麻烦了,,谁有简单的方法,参考参考。