---------送货安排在DataGrid中的显示问题-----------------
C1 C2 C3 C4 C5 C6 C7 ShouDaoTotal
------------------------------------------------------
0 100 0 20 0 10 200 125
60 50 10 0 0 60 70 110
--上面是DataTable中的数据,我要在DataGrid中显示成下面的样子---
列1 列2 列3 列4 列5 列6 列7
0 0 0 0 0 5 200
0 0 10 0 0 60 70
说明:这是一个送货安排的东西。我在一个DataTable中得到了
7天内送货的安排情况,同时也得到了已经收到了某种货物的总数ShouDaoTotal
现在要在DataGrid中显示出来 还有哪些没送!!
(请问,数据只有DataTable中的哪些数据,怎么来得到DataGrid中的显示效果呢?)
------解决方案--------------------没看明白,你这两项数据之间是什么关系?
------解决方案--------------------请表述清楚点
------解决方案--------------------可以在绑定之前把数据添加到数据源,如Dataset里,然后再帮定。
如:
DataRow dr = ds.Tables[0].NewRow();
for(int i=0;i <ds.Tables[0].Columns.Count;i++)
{
dr[i] = xxxxxxxx;//你的逻辑算法
}
ds.Tables[0].Rows.InsertAt(dr,ds.Tables[0].Rows.Count-1);
然后绑定。
方法有点土,但是可以用,你可以试验试验。
------解决方案--------------------看不懂要上面
------解决方案--------------------还有哪些没送!!
======
根本就搞不懂你的需求,
按你的样本数据,凭什么说 C1 C2 的数据变为 0 了?
------解决方案--------------------zhe这样的东西如果要绑定只能动态构造table
------解决方案--------------------try ->
DataTable dt = GetMyDataTable(); // 获取数据
foreach(DataRow row in dt.Rows) {
int total = (int)row[ "ShouDaoTotal "];
for(i=0; i < 7; i++) { // 假设前 7 列为目标列
int val = (int)row[i];
if(val > total) break;
//
row[i] = 0;
total -= val;
}
}
DataGrid1.DataSource = dt;
DataGrid1.Data();
------解决方案--------------------楼主,用PROCEDURE试试看.
PROCEDURE GetData
as
declare @c1 int
declare @c2 int
declare @c3 int
declare @c4 int
declare @c5 int
declare @c6 int
declare @c7 int
declare @ShouDaoTotal int
declare @t table(c1 int,c2 int,c3 int,c4 int,c5 int,c6 int,c7 int,ShouDaoTotal int)
declare roy cursor for select c1,c2,c3,c4,c5,c6,c7,ShouDaoTotal from count1