一个觉得有点高深的问题,在列上使用表达式出现错误, 盼望高手的出现
wqjch 2005-04-02 11:23:46 Dim dt1 As New DataTable("dt1")
Dim WithEvents dt2 As New DataTable("dt2")
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DataSet("ds")
dt1.Columns.Add("Matcode", GetType(String))
dt1.Columns.Add("Qty", GetType(Double))
dt2.Columns.Add("Matcode", GetType(String))
dt2.Columns.Add("Matcolor", GetType(String))
dt2.Columns.Add("Qty", GetType(Double))
ds.Tables.Add(dt1)
ds.Tables.Add(dt2)
Dim relation As New DataRelation("relation", dt1.Columns("MatCode"), dt2.Columns("MatCode"))
ds.Relations.Add(relation)
dt1.Columns("Qty").Expression = "Sum(Child(relation).Qty)"
Me.DataGrid1.DataSource = dt1
Me.DataGrid2.DataSource = dt2
End Sub
我在dt1和dt2这两个表建立了关联Dim relation As New DataRelation("relation", dt1.Columns("MatCode"), dt2.Columns("MatCode"))
我想使用表达式把子表(dt2)的列(Qty)的和赋给父表(dt1)的列(Qty)
dt1.Columns("Qty").Expression = "Sum(Child(relation).Qty)"
但是有点问题,请高手指教,谢谢!!!
就是当表达式为:dt1.Columns("Qty").Expression = "Sum(Child(relation).Qty)"时,就会出现一个题在datagrid2填的Qty不会直接累加到datagrid1的Qty
Private Sub dt2_ColumnChanged(ByVal sender As Object, ByVal e As System.Data.DataColumnChangeEventArgs) Handles dt2.ColumnChanged
DataGrid1.Invalidate()
End Sub
我在dt2的列改变事件:加一句DataGrid1.Invalidate(),可以解决,但是还是有一个问题:就是如果我在dt2输入Qty后不换行的话,它也不会把dt2的Qty累加到dt1的Qty.请高手指教
如果我的表是从数据库的读出来的
怎么样把dt1的Qty增加到数据库里啊,
谢谢!!!
因为我试过了一下表从数据库读出来时,它不会把dt1 的qty增加到数据库,要怎么样处理啊,
我最近对这个列利用表达式很感兴趣.谢谢,高手进来指教!!!