asp.net c# 如何取出datatable指定行的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net c# 如何取出datatable指定行的值相关的知识,希望对你有一定的参考价值。

如:data1 data2 data3
1 2 3
4 5 6
如何取到指定第一行,或者第二行的数据啊

1、首先输入下方的代码:

int count = dt.Rows.Count;

2、然后再输入下方的代码:

string[] Accounts = new string[count];

3、然后再输入下方的代码:

for (int i = 0; i < count; i++) Accounts[i] = dt.Rows[0][1].ToString();

这样就完成了。

参考技术A DataTable 的id dt

DataRow dr=dt.Rows[行];//取指定某行的值
string str=dt.Rows[行][列].ToString();//取指定某行某列的值本回答被提问者和网友采纳
参考技术B 第一行data1字段 datatable.rows[0]["data1"] 参考技术C datatable.Rows[Index] 参考技术D ds.tables[0].rows[0]

如何计算asp.net中数据表列的总和?

【中文标题】如何计算asp.net中数据表列的总和?【英文标题】:How to calculate the sum of the datatable column in asp.net? 【发布时间】:2011-08-19 01:51:12 【问题描述】:

我有一个包含 5 列的 DataTable:

身份证 姓名 帐号 分公司 金额

DataTable 包含 5 行。

如何在标签控件中将金额列的总和显示为“总金额”?

【问题讨论】:

你有 ADO.Net DataTable 还是 DataTable 是指数据库表? 数据表是仅仅用于提供 Total 还是绑定到另一个控件,例如 gridView 或 repeater?你们中的人纯粹是从下面的 Jonathan Woods 建议中提取总使用量。 你知道你有 5 行,还是更多或更少? 谢谢大家的效果。我得到了答案。 【参考方案1】:

要计算 DataTable 中列的总和,请使用 DataTable.Compute 方法。

链接的 MSDN 文章中的使用示例:

DataTable table = dataSet.Tables["YourTableName"];

// Declare an object variable.
object sumObject;
sumObject = table.Compute("Sum(Amount)", string.Empty);

在您的总金额标签中显示结果,如下所示:

lblTotalAmount.Text = sumObject.ToString();

【讨论】:

他不要过滤表达式,他只想计算所有行的数量。在您的回答中,过滤表达式的意思是,它将计算 EmpId = 5 的总和。 它要求过滤器。我没有任何过滤条件。我想对数据表中的所有行求和。 Jay 感谢您的解决方案。它减少了我的行代码数量。 @John 很高兴我能帮上忙!【参考方案2】:
 this.LabelControl.Text = datatable.AsEnumerable()
    .Sum(x => x.Field<int>("Amount"))
    .ToString();

如果要过滤结果:

 this.LabelControl.Text = datatable.AsEnumerable()
    .Where(y => y.Field<string>("SomeCol") != "foo")
    .Sum(x => x.Field<int>("MyColumn") )
    .ToString();

【讨论】:

【参考方案3】:

如果你有一个 ADO.Net 数据表,你可以这样做

int sum = 0;
foreach(DataRow dr in dataTable.Rows)

   sum += Convert.ToInt32(dr["Amount"]);

如果要查询数据库表,可以使用

Select Sum(Amount) From DataTable

【讨论】:

【参考方案4】:

你可以这样做..

DataRow[] dr = dtbl.Select("SUM(Amount)");
txtTotalAmount.Text = Convert.ToString(dr[0]);

【讨论】:

【参考方案5】:
  public decimal Total()
    
      decimal decTotal=(datagridview1.DataSource as DataTable).Compute("Sum(FieldName)","");
      return decTotal;
    

【讨论】:

【参考方案6】:

您可以按名称分组使用 Linq

  var allEntries = from r in dt.AsEnumerable()
                            select r["Amount"];

使用名称空间using System.Linq;

您可以在Myblog使用c#在数据表中找到样本总数、小计、总计

【讨论】:

【参考方案7】:

计算数据表中列的总和,100% 有效

lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "").ToString();

如果你想有任何条件,就这样使用它

   lbl_TotaAmt.Text = MyDataTable.Compute("Sum(BalAmt)", "srno=1 or srno in(1,2)").ToString();

【讨论】:

【参考方案8】:

试试这个

int sum = 0;
foreach (DataRow dr in dt.Rows)

     dynamic value = dr[index].ToString();
     if (!string.IsNullOrEmpty(value))
      
         sum += Convert.ToInt32(value);
     

【讨论】:

【参考方案9】:

我认为这解决了

using System.Linq;


(datagridview1.DataSource as DataTable).AsEnumerable().Sum(c => c.Field<double>("valor"))

【讨论】:

【参考方案10】:

如果您想在您的 cshtml 文件中执行此操作,可以这样编写(包括 LAMBDA 表达式):

<td><b>£@Model.Sum(i => i.Amount)</b></td>

您可以删除 html 标签,我只是将它们留在里面尝试帮助示例。

【讨论】:

以上是关于asp.net c# 如何取出datatable指定行的值的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET我现在有一个DataTable 我想点击一下按钮就取出一条数据,不点击就不取出来咋办

ASP.NET C#中如何在excel中下载gridview,即如何在datatable中使用group by

如何在 asp.net c# 中将 JQuery DataTables 应用于 Gridview 以获取大数据(> 1000)?

ASP.NET C# 如何合并DataTable中的重复数据(做数据整合)

C#(ASP.NET) MVC kendo grid如何绑定一个数据库返回的datatable(要最简单的)

C#写ASP.NET,怎么导出一个DataTable到Excel