我有一个数组,返回的数据大小为3,6,9,12,15 ..(3的倍数)
DataTable dt = new DataTable();
string GridData = ViewState["ShowItem"].ToString();
string[] FilterData = GridData.Split('^');
上面的数组返回数据之类的..
FilterData [0] = "Pizza"; (Item)
FilterData [1] = "2$"; (Price)
FilterData [2] = "2"; (Quantity)
FilterData [3] = "Burger";
FilterData [4] = "5$";
FilterData [5] = "1";
FilterData [6] = "Cesa";
FilterData [7] = "7$";
FilterData [8] = "3";
now I want to enter above data as column wise in database like:
Item Price Quantity Total(Price*Quantity)
现在我想运行一个循环,以添加特定字段的数据,例如:
for (int nIndex = 0; nIndex < FilterData.Length; nIndex++)
{
DataRow drow = dt.NewRow();
drow["ProductItem"] = FilterData[nIndex].ToString(); (Add all Item)
drow["Cost"] = FilterData[nIndex].ToString(); (Add all Cost)
drow["Quantity"] = FilterData[nIndex].ToString(); (Add all Quantity)
double Total= Convert.ToDouble(FilterData[nIndex].ToString()) * Convert.ToInt32(FilterData[nIndex].ToString()); (Add all cost*Quantity)
drow["Total"] = Total;
dt.Rows.Add(drow);
}
所以有人可以帮助我如何运行循环,以便将数据添加到特定列中,例如:项目价格数量总计(价格*数量)
Pizza 2 2 4
Burger 5 1 5
Cesa 7 3 21
您需要nIndex
每次增加3,以每个成员相对于的偏移量进行访问nIndex
:
for (int nIndex = 0; nIndex < FilterData.Length; nIndex += 3)
{
DataRow drow = dt.NewRow();
drow["ProductItem"] = FilterData[nIndex]; // Item
var cost = FilterData[nIndex + 1]; // Cost
var qty = FilterData[nIndex + 2]; // Quantity
drow["Cost"] = cost;
drow["Quantity"] = qty;
double Total =
Convert.ToDouble(cost.Remove(cost.Length - 1)) * // remove $
Convert.ToInt32(qty); // Total
drow["Total"] = Total;
dt.Rows.Add(drow);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句