你可以设置订单表的prepareEdit事件:
For Each dr As DataRow in e.DataRow.getChildRows("订单明细")
if dr.Isnull("单价") = False Then
e.Cancel = true
Exit For
End If
Next