如何在ASP.NET中的gridview中计算大于零的总行数

时间:2016-04-16 16:59:50

标签: c# asp.net

我使用SQLDataSource在asp.net页面中有网格视图。 我想在label.Text中显示大于零的总行数。 (我的专栏是价格列,我想要计算价格大于零的行 我怎样才能做到这一点 我尝试这段代码的总行数: int totalRows = e.AffectedRows; 感谢

2 个答案:

答案 0 :(得分:0)

您必须使用linq将价值与价格>进行比较。 0

例如: -

var count = objVar.Where(x=>x.price > 0).count();

答案 1 :(得分:0)

为了直接从GetPrice()中的单元格中读取,我使用了一个名为Price的方法,该方法返回特定列中所有价格的列表。

注意:您应在GridView中指定哪个列与Price相关,因此必须在PriceColumnIndex中设置protected void Page_Load(object sender, EventArgs e) { List<double> lstPrice = GetPrice(); double dblPriceSum = lstPrice.Where(p => p > 0).Sum(); lblCount.Text = string.Format("{0:#,##0 Rls}", dblPriceSum); } private List<double> GetPrice() { const int PriceColumnIndex = 0; List<double> resList = new List<double>(); for (int i = 0; i < GridView1.Rows.Count; i++) { string strPrice = GridView1.Rows[i].Cells[PriceColumnIndex].Text; double dblPrice; bool blIsParsable = double.TryParse(strPrice, out dblPrice); if (blIsParsable) resList.Add(dblPrice); } return resList; } 列的索引(从零开始)常量变量。

            <script type="text/javascript">
                $( document ).ready(function() {
                    $(".triangle input[name='tedit']").click(function(){
                        var subID = $(this).attr('id');
                        $.redirect("/profile/subscriptionedit.php",{ subscription: "subID="+ subID, });
                    });
                });
            </script>
祝你好运。