瘦我是有一个程序(用VB.NET编写),它将数据写入SQL Server数据库。我知道编写语句来访问该数据并将其呈现给用户。
我遇到的问题是我设置了DataGridView
,第一列是用户支付的帐单清单。我用
SELECT DISTINCT [PayTo]
FROM Main_Bills
填充此列并且它可以正常工作。
下一列是每月,然后是最后一列是迄今为止的总付款。我不知道如何填充剩余的列并让它们显示即使它们是空的。我想要完成的是:
示例,如果数据库包含:
Bill Paid To Date Amount
----------------------------------
Electric Company 8/20/15 100.00
Electric Company 8/21/15 50.00
Water Company 8/15/15 25.00
因此,目前的设置仅在第一栏中显示电气公司一次,这是我想要的水公司。我需要做的是基于年份(这样它只显示当年支付的账单)。我需要它将2个电力支付加在一起,并在8月专栏中显示电气公司项目在第1列。然后与水相同。显然,还有更多的账单将在系统中。
我希望这一切都有道理。代码部分如下:
Sub SummaryTab_Fill()
Try
con = New SqlConnection(conString)
cmd = New SqlCommand("SELECT DISTINCT [PayTo] FROM Main_Bills", con)
con.Open()
reader = cmd.ExecuteReader()
table = New DataTable
table.Load(reader)
DGVBillSum.AutoGenerateColumns = True
DGVBillSum.RowHeadersVisible = False
DGVBillSum.DataSource = table
DGVBillSum.ColumnCount = 14
DGVBillSum.Columns(0).Name = "Paid To"
DGVBillSum.Columns(1).Name = "January"
DGVBillSum.Columns(2).Name = "February"
DGVBillSum.Columns(3).Name = "March"
DGVBillSum.Columns(4).Name = "April"
DGVBillSum.Columns(5).Name = "May"
DGVBillSum.Columns(6).Name = "June"
DGVBillSum.Columns(7).Name = "July"
DGVBillSum.Columns(8).Name = "August"
DGVBillSum.Columns(9).Name = "September"
DGVBillSum.Columns(10).Name = "October"
DGVBillSum.Columns(11).Name = "November"
DGVBillSum.Columns(12).Name = "December"
DGVBillSum.Columns(13).Name = "Total"
DGVBillSum.Sort(DGVBillSum.Columns(0), ComponentModel.ListSortDirection.Ascending)
DGVBillSum.Refresh()
con.Close()
Catch ex As Exception
'I need to add my catch statement
End Try
答案 0 :(得分:0)
我建议您从当前年份获取所有记录并将其汇总到一个函数中。
var promise = Promise.fromNode(function (callback) {
FB.api(url, function(response) { callback(response ? response.error : "no response", response); });
});