求解答 一列的和 在线的 小急~

qq_39490336 2017-07-20 10:47:41





/// <summary>
/// 点击快速查询或者刷新数据时,自动加载快速查询所需要的数据,避免每次点击都要加载一次
/// </summary>
private void SetFasttipData()
{
bool bOpen=(this.connMain.State==System.Data.ConnectionState.Open);
try
{
if(!bOpen)
{
this.connMain.Open();
}

//this.daFillOther.SelectCommand.CommandText=@"select * from PropertyPO_Master order by Create_Date desc";
//this.daFillOther.SelectCommand.CommandText=@"SELECT SN,s_Subject,AppDate,lb,Department,Name,money,m.Create_Date,m.Modify_Date,Type,cgbname FROM dbo.PropertyPO_Master as m INNER JOIN dbo.PropertyPO_Detail as d ON m.Master_Id = d.Master_Id order by m.Modify_Date desc";
this.daFillOther.SelectCommand.CommandText=@"SELECT SN,s_Subject,AppDate,lb,Department,Name,money,isnull(UnitPrice,0) as UnitPrice,m.Create_Date,m.Modify_Date,Type,cgbname,"+
"isnull(d.Num,0) as PoNum,isnull(i.ReceiveQty,0) as ReceiveQty,"+
"UnitPrice as price,"+
"Num*CAST('0'+ISNULL(UnitPrice,'') as decimal(15,5)) as zhonghe,"+
// "cast(UnitPrice as decimal(18,5)) as price,"+
// "convert(decimal(18,5),UnitPrice) as price,"+
"case when OAState=1 then '已归档' else '未归档' end as OAState,"+
"case when isnull(i.ReceiveQty,0)=0 then '未进仓' else case when isnull(d.Num,0)>=isnull(i.ReceiveQty,0) then '全部进仓' else '部分进仓' end end as InState "+
"FROM PropertyPO_Master as m "+
"INNER JOIN PropertyPO_Detail as d ON m.Master_Id = d.Master_Id "+
"left outer join PropertyIntoList_D as i on d.detail_id = i.podetailid "+
"order by m.Modify_Date desc";
if(this.dataset11.Tables["PoHistory"]!=null)
{
this.dataset11.Tables["PoHistory"].Clear();
}
this.daFillOther.Fill(this.dataset11,"PoHistory");
}
catch(System.Exception ee)
{
MessageBox.Show(ee.Message,"系统提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
finally
{
if(!bOpen)
{
this.connMain.Close();
}
}
}
#endregion









//
// dataGridTableStyle1
//
this.dataGridTableStyle1.AlternatingBackColor = System.Drawing.Color.MistyRose;
this.dataGridTableStyle1.DataGrid = this.dataGrid1;
this.dataGridTableStyle1.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[] {
this.dataGridTextBoxColumn16,
this.dataGridTextBoxColumn12,
this.dataGridTextBoxColumn17});
this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGridTableStyle1.MappingName = "PoHistory";

//
// dataGridTextBoxColumn16
//
this.dataGridTextBoxColumn16.Format = "";
this.dataGridTextBoxColumn16.FormatInfo = null;
this.dataGridTextBoxColumn16.HeaderText = "单价";
this.dataGridTextBoxColumn16.MappingName = "price";
this.dataGridTextBoxColumn16.NullText = "";
this.dataGridTextBoxColumn16.Width = 70;
//
// dataGridTextBoxColumn12
//
this.dataGridTextBoxColumn12.Format = "";
this.dataGridTextBoxColumn12.FormatInfo = null;
this.dataGridTextBoxColumn12.HeaderText = "采购数";
this.dataGridTextBoxColumn12.MappingName = "PoNum";
this.dataGridTextBoxColumn12.NullText = "";
this.dataGridTextBoxColumn12.Width = 55;
//
// dataGridTextBoxColumn17
//
this.dataGridTextBoxColumn17.Format = "";
this.dataGridTextBoxColumn17.FormatInfo = null;
this.dataGridTextBoxColumn17.HeaderText = "总和";
this.dataGridTextBoxColumn17.MappingName = "zhonghe";
this.dataGridTextBoxColumn17.NullText = "";
this.dataGridTextBoxColumn17.Width = 0;



是一个 datagrid 控件 现在我要求 其中一列的和 (是datagrid 不是datagridview)
我已经把总和隐藏了 现在我先把 这dataGridTextBoxColumn17这一列的和显示在 label14中 求一个代码
...全文
481 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39490336 2017-07-21
  • 打赏
  • 举报
回复
引用 11 楼 Iris945 的回复:
[quote=引用 9 楼 qq_39490336 的回复:] [quote=引用 8 楼 Iris945 的回复:]
DataTable dt = this.dataset11.Tables["PoHistory"];
Lable1.Text=dt.Compute("SUM(zhonghe)","");
dataset11这一段是另外一个cs的 这里没有dataset11[/quote]
 
DataSet ds;
ds= (DataSet) dataGrid1.DataSource;
Lable1.Text=this.myDataSet.Tables[0].Compute("SUM(zhonghe)","");
[/quote]





	/// <summary>
		/// 点击快速查询或者刷新数据时,自动加载快速查询所需要的数据,避免每次点击都要加载一次
		/// </summary>
		private void SetFasttipData()
		{
			bool bOpen=(this.connMain.State==System.Data.ConnectionState.Open);
			try
			{
				if(!bOpen)
				{
					this.connMain.Open();
				}

				//this.daFillOther.SelectCommand.CommandText=@"select * from PropertyPO_Master order by Create_Date desc";
				//this.daFillOther.SelectCommand.CommandText=@"SELECT SN,s_Subject,AppDate,lb,Department,Name,money,m.Create_Date,m.Modify_Date,Type,cgbname FROM dbo.PropertyPO_Master as m INNER JOIN dbo.PropertyPO_Detail as d ON m.Master_Id = d.Master_Id  order by m.Modify_Date desc";
				this.daFillOther.SelectCommand.CommandText=@"SELECT SN,s_Subject,AppDate,lb,Department,Name,money,isnull(UnitPrice,0) as UnitPrice,m.Create_Date,m.Modify_Date,Type,cgbname,"+
                    "isnull(d.Num,0) as PoNum,isnull(i.ReceiveQty,0) as ReceiveQty,"+
					"UnitPrice as price,"+
					"Num*CAST('0'+ISNULL(UnitPrice,'') as decimal(15,5)) as zhonghe,"+
//					"cast(UnitPrice as decimal(18,5)) as price,"+
//					"convert(decimal(18,5),UnitPrice) as price,"+
					"case when OAState=1 then '已归档' else '未归档' end as  OAState,"+
                    "case when isnull(i.ReceiveQty,0)=0 then '未进仓' else case when isnull(d.Num,0)>=isnull(i.ReceiveQty,0) then '全部进仓' else '部分进仓' end end as  InState "+
                    "FROM PropertyPO_Master as m "+
					"INNER JOIN PropertyPO_Detail as d ON m.Master_Id = d.Master_Id "+
                    "left outer join PropertyIntoList_D as i on d.detail_id = i.podetailid "+
                    "order by m.Modify_Date desc";
				if(this.dataset11.Tables["PoHistory"]!=null)
				{
					this.dataset11.Tables["PoHistory"].Clear();
				}
				this.daFillOther.Fill(this.dataset11,"PoHistory");
			}
			catch(System.Exception ee)
			{
				MessageBox.Show(ee.Message,"系统提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
			}
			finally
			{
				if(!bOpen)
				{
					this.connMain.Close();
				}
			}
		}
		#endregion






	public System.Data.DataView DvMaster
		{
			get
			{
				return this.dvMaster;
			}
			set
			{
				this.dvMaster=value;
				if(this.dvMaster!=null)
				{
					this.dvMaster.RowFilter="";
					this.bmMaster=this.BindingContext[this.dvMaster];
					this.dataGrid1.DataSource=this.dvMaster;
					this.dataGrid1.CaptionText="共"+this.dvMaster.Count+"条记录";
				}
			}
		






			// 
			// dataGridTableStyle1
			// 
			this.dataGridTableStyle1.AlternatingBackColor = System.Drawing.Color.MistyRose;
			this.dataGridTableStyle1.DataGrid = this.dataGrid1;
			this.dataGridTableStyle1.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[] {
																														  this.dataGridTextBoxColumn16,
																												  this.dataGridTextBoxColumn12,
																												  this.dataGridTextBoxColumn17});
			this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
			this.dataGridTableStyle1.MappingName = "PoHistory";

			// 
			// dataGridTextBoxColumn16
			// 
			this.dataGridTextBoxColumn16.Format = "";
			this.dataGridTextBoxColumn16.FormatInfo = null;
			this.dataGridTextBoxColumn16.HeaderText = "单价";
			this.dataGridTextBoxColumn16.MappingName = "price";
			this.dataGridTextBoxColumn16.NullText = "";
			this.dataGridTextBoxColumn16.Width = 70;
			// 
			// dataGridTextBoxColumn12
			// 
			this.dataGridTextBoxColumn12.Format = "";
			this.dataGridTextBoxColumn12.FormatInfo = null;
			this.dataGridTextBoxColumn12.HeaderText = "采购数";
			this.dataGridTextBoxColumn12.MappingName = "PoNum";
			this.dataGridTextBoxColumn12.NullText = "";
			this.dataGridTextBoxColumn12.Width = 55;
			// 
			// dataGridTextBoxColumn17
			// 
			this.dataGridTextBoxColumn17.Format = "";
			this.dataGridTextBoxColumn17.FormatInfo = null;
			this.dataGridTextBoxColumn17.HeaderText = "总和";
			this.dataGridTextBoxColumn17.MappingName = "zhonghe";
			this.dataGridTextBoxColumn17.NullText = "";
			this.dataGridTextBoxColumn17.Width = 0;

这个好像是 用DataView DvMaster 来生成 dataGrid的
qq_39490336 2017-07-21
  • 打赏
  • 举报
回复
引用 12 楼 Iris945 的回复:
[quote=引用 11 楼 Iris945 的回复:] [quote=引用 9 楼 qq_39490336 的回复:] [quote=引用 8 楼 Iris945 的回复:]
DataTable dt = this.dataset11.Tables["PoHistory"];
Lable1.Text=dt.Compute("SUM(zhonghe)","");
dataset11这一段是另外一个cs的 这里没有dataset11[/quote]
 
DataSet ds;
ds= (DataSet) dataGrid1.DataSource;
Lable1.Text=this.ds.Tables[0].Compute("SUM(zhonghe)","");
[/quote] 报错显示 未将对象应用到设置对象的实例
Iris945 2017-07-21
  • 打赏
  • 举报
回复
引用 11 楼 Iris945 的回复:
[quote=引用 9 楼 qq_39490336 的回复:] [quote=引用 8 楼 Iris945 的回复:]
DataTable dt = this.dataset11.Tables["PoHistory"];
Lable1.Text=dt.Compute("SUM(zhonghe)","");
dataset11这一段是另外一个cs的 这里没有dataset11[/quote]
 
DataSet ds;
ds= (DataSet) dataGrid1.DataSource;
Lable1.Text=this.ds.Tables[0].Compute("SUM(zhonghe)","");
Iris945 2017-07-21
  • 打赏
  • 举报
回复
引用 9 楼 qq_39490336 的回复:
[quote=引用 8 楼 Iris945 的回复:]
DataTable dt = this.dataset11.Tables["PoHistory"];
Lable1.Text=dt.Compute("SUM(zhonghe)","");
dataset11这一段是另外一个cs的 这里没有dataset11[/quote]
 
DataSet ds;
ds= (DataSet) dataGrid1.DataSource;
Lable1.Text=this.myDataSet.Tables[0].Compute("SUM(zhonghe)","");
qq_39490336 2017-07-21
  • 打赏
  • 举报
回复
引用 6 楼 duanzi_peng 的回复:
那个帖子不是回复你了么?动动手查下用法有这么难么。类似: this.dataset11.Tables["PoHistory"].AsEnumerable().Sum(s => (int)s[列的索引值]);
dataset11这一段是另外一个cs的 这里没有dataset11 正在学习 不过我是真找不到 找的到就不来这里了啊 但是又确实要用
qq_39490336 2017-07-21
  • 打赏
  • 举报
回复
引用 8 楼 Iris945 的回复:
DataTable dt = this.dataset11.Tables["PoHistory"];
Lable1.Text=dt.Compute("SUM(zhonghe)","");
dataset11这一段是另外一个cs的 这里没有dataset11
qq_39490336 2017-07-21
  • 打赏
  • 举报
回复
引用 16 楼 langziqiushui 的回复:
天呐, 你会不会写程序啊
新手 在学习 上手比较慢
及时雨送浆 2017-07-21
  • 打赏
  • 举报
回复
天呐, 你会不会写程序啊
Iris945 2017-07-21
  • 打赏
  • 举报
回复
引用 14 楼 qq_39490336 的回复:
[quote=引用 11 楼 Iris945 的回复:] [quote=引用 9 楼 qq_39490336 的回复:] [quote=引用 8 楼 Iris945 的回复:]
DataTable dt = this.dataset11.Tables["PoHistory"];
Lable1.Text=dt.Compute("SUM(zhonghe)","");
dataset11这一段是另外一个cs的 这里没有dataset11[/quote]
 
DataSet ds;
ds= (DataSet) dataGrid1.DataSource;
Lable1.Text=this.myDataSet.Tables[0].Compute("SUM(zhonghe)","");
[/quote]





	/// <summary>
		/// 点击快速查询或者刷新数据时,自动加载快速查询所需要的数据,避免每次点击都要加载一次
		/// </summary>
		private void SetFasttipData()
		{
			bool bOpen=(this.connMain.State==System.Data.ConnectionState.Open);
			try
			{
				if(!bOpen)
				{
					this.connMain.Open();
				}

				//this.daFillOther.SelectCommand.CommandText=@"select * from PropertyPO_Master order by Create_Date desc";
				//this.daFillOther.SelectCommand.CommandText=@"SELECT SN,s_Subject,AppDate,lb,Department,Name,money,m.Create_Date,m.Modify_Date,Type,cgbname FROM dbo.PropertyPO_Master as m INNER JOIN dbo.PropertyPO_Detail as d ON m.Master_Id = d.Master_Id  order by m.Modify_Date desc";
				this.daFillOther.SelectCommand.CommandText=@"SELECT SN,s_Subject,AppDate,lb,Department,Name,money,isnull(UnitPrice,0) as UnitPrice,m.Create_Date,m.Modify_Date,Type,cgbname,"+
                    "isnull(d.Num,0) as PoNum,isnull(i.ReceiveQty,0) as ReceiveQty,"+
					"UnitPrice as price,"+
					"Num*CAST('0'+ISNULL(UnitPrice,'') as decimal(15,5)) as zhonghe,"+
//					"cast(UnitPrice as decimal(18,5)) as price,"+
//					"convert(decimal(18,5),UnitPrice) as price,"+
					"case when OAState=1 then '已归档' else '未归档' end as  OAState,"+
                    "case when isnull(i.ReceiveQty,0)=0 then '未进仓' else case when isnull(d.Num,0)>=isnull(i.ReceiveQty,0) then '全部进仓' else '部分进仓' end end as  InState "+
                    "FROM PropertyPO_Master as m "+
					"INNER JOIN PropertyPO_Detail as d ON m.Master_Id = d.Master_Id "+
                    "left outer join PropertyIntoList_D as i on d.detail_id = i.podetailid "+
                    "order by m.Modify_Date desc";
				if(this.dataset11.Tables["PoHistory"]!=null)
				{
					this.dataset11.Tables["PoHistory"].Clear();
				}
				this.daFillOther.Fill(this.dataset11,"PoHistory");
			}
			catch(System.Exception ee)
			{
				MessageBox.Show(ee.Message,"系统提示",MessageBoxButtons.OK,MessageBoxIcon.Warning);
			}
			finally
			{
				if(!bOpen)
				{
					this.connMain.Close();
				}
			}
		}
		#endregion






	public System.Data.DataView DvMaster
		{
			get
			{
				return this.dvMaster;
			}
			set
			{
				this.dvMaster=value;
				if(this.dvMaster!=null)
				{
					this.dvMaster.RowFilter="";
					this.bmMaster=this.BindingContext[this.dvMaster];
					this.dataGrid1.DataSource=this.dvMaster;
					this.dataGrid1.CaptionText="共"+this.dvMaster.Count+"条记录";
				}
			}
		






			// 
			// dataGridTableStyle1
			// 
			this.dataGridTableStyle1.AlternatingBackColor = System.Drawing.Color.MistyRose;
			this.dataGridTableStyle1.DataGrid = this.dataGrid1;
			this.dataGridTableStyle1.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[] {
																														  this.dataGridTextBoxColumn16,
																												  this.dataGridTextBoxColumn12,
																												  this.dataGridTextBoxColumn17});
			this.dataGridTableStyle1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
			this.dataGridTableStyle1.MappingName = "PoHistory";

			// 
			// dataGridTextBoxColumn16
			// 
			this.dataGridTextBoxColumn16.Format = "";
			this.dataGridTextBoxColumn16.FormatInfo = null;
			this.dataGridTextBoxColumn16.HeaderText = "单价";
			this.dataGridTextBoxColumn16.MappingName = "price";
			this.dataGridTextBoxColumn16.NullText = "";
			this.dataGridTextBoxColumn16.Width = 70;
			// 
			// dataGridTextBoxColumn12
			// 
			this.dataGridTextBoxColumn12.Format = "";
			this.dataGridTextBoxColumn12.FormatInfo = null;
			this.dataGridTextBoxColumn12.HeaderText = "采购数";
			this.dataGridTextBoxColumn12.MappingName = "PoNum";
			this.dataGridTextBoxColumn12.NullText = "";
			this.dataGridTextBoxColumn12.Width = 55;
			// 
			// dataGridTextBoxColumn17
			// 
			this.dataGridTextBoxColumn17.Format = "";
			this.dataGridTextBoxColumn17.FormatInfo = null;
			this.dataGridTextBoxColumn17.HeaderText = "总和";
			this.dataGridTextBoxColumn17.MappingName = "zhonghe";
			this.dataGridTextBoxColumn17.NullText = "";
			this.dataGridTextBoxColumn17.Width = 0;

这个好像是 用DataView DvMaster 来生成 dataGrid的[/quote] 你可以看一下 https://msdn.microsoft.com/zh-cn/library/vs/alm/system.windows.forms.datagrid.datasource
qq_39490336 2017-07-20
  • 打赏
  • 举报
回复
有人嘛????
班门弄武 2017-07-20
  • 打赏
  • 举报
回复
引用 2 楼 qq_39490336 的回复:
这个肯定不对吧 DataTable1都没实例化
我错了,我只是为了赚点分去兑换点下载分。
qq_39490336 2017-07-20
  • 打赏
  • 举报
回复
引用 1 楼 myheadachecase 的回复:
Lable1.Text = DataTable1.Compute("SUM(ColumnSum)",""); 你改动一下看看可以不?
这个肯定不对吧 DataTable1都没实例化
班门弄武 2017-07-20
  • 打赏
  • 举报
回复
Lable1.Text = DataTable1.Compute("SUM(ColumnSum)",""); 你改动一下看看可以不?
Iris945 2017-07-20
  • 打赏
  • 举报
回复
DataTable dt = this.dataset11.Tables["PoHistory"];
Lable1.Text=dt.Compute("SUM(zhonghe)","");
wsh_mar 2017-07-20
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/120101567 看看吧
  • 打赏
  • 举报
回复
那个帖子不是回复你了么?动动手查下用法有这么难么。类似: this.dataset11.Tables["PoHistory"].AsEnumerable().Sum(s => (int)s[列的索引值]);
qq_39490336 2017-07-20
  • 打赏
  • 举报
回复
boom 来人啊

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧