作者popo1080a (肥仔)
看板C_Sharp
标题[问题] 使用Grid存入DataSet
时间Fri Feb 24 11:56:01 2012
最近在练习做这个↓
使用grid建立一个表单,可输入值按下按钮会做简单的加减乘除计算
问题↓
建立一个空间存放grid的资料,使用表单方式抓取资料
0 0 1 2 3 4 ..
1
2
1列3栏,2列3栏,...N列3栏抓取值
设立变数i跑for回圈
for(int i=0 ; i<资料的笔数 ; i++)
{
资料笔数i,资料得值第3栏
}
抓取的直一一列出,做加减乘除计算,最後存回一个变数
将结果存回资料栏位覆盖或存至新栏位
显示栏位的资料
END
对这块还不熟悉,正在看简报的DataSet物件图了解观念中
希望有人可以帮忙,谢谢
---------------------------------------------------
int count = 0; //数量
int money = 0; //单价
int goodsmoney = 0; //商品金额
int totalmoney = 0; //总金额
DataSet ds = new DataSet();
ds = tgird.GetDataSet();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
count = Convert.ToInt16(ds.Tables[0].Rows[i][1]);
money = Convert.ToInt16(ds.Tables[0].Rows[i][2]);
goodsmoney = count * money;
ds.Tables[0].Rows[i][3] = goodsmoney;
totalmoney = totalmoney + goodsmoney;
}
tgird.SetDataSet(ds);
tmoney.Text = Convert.ToString(totalmoney);
程式写完了,测试上没什麽问题
问题↓
1. ds.Tables[0].Rows[i][1]
2. ds.Tables[0].Rows[i].ItemArray[1]
这两种写法差在哪??
两种都可以读取到我要的资料,可是要写回去给商品金额的时候却没办法写回去
ds.Tables[0].Rows[i][3] = goodsmoney;
这种可以写回去填入值,可是↓
ds.Tables[0].Rows[i].ItemArray[3] = goodsmoney;
却没有办法写回去商品金额
请问有人知道是为什麽吗??
希望有人帮忙,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.126.138
※ 编辑: popo1080a 来自: 118.170.126.138 (02/24 15:02)
1F:→ ssccg:ItemArray是回传一份资料的copy,不是把DataRow内部的array 02/24 17:27
2F:→ ssccg:reference给你,所以改ItemArray的值不会反应到DataRow 02/24 17:27
3F:→ ssccg:如果你只要存取一个值的话,用Item(indexer)就好 02/24 17:29
4F:→ popo1080a:谢谢 受教了! 02/29 11:41