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 dtDataRow 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中的重复数据(做数据整合)