C# 包含子查询的视图不';无法在数据成员中显示

C# 包含子查询的视图不';无法在数据成员中显示,c#,data-binding,datasource,strongly-typed-dataset,C#,Data Binding,Datasource,Strongly Typed Dataset,在下图中,数据源中显示了一个视图 下图中,数据集设计视图中显示了相同的数据源 在表单上拖放相同的数据源之后,同一网格的DataMember属性在其列表中未显示名称。 网格属性 绑定源的属性 视图的脚本是 ALTER View [dbo].[V_CustomerBalance] as SELECT M.Sales_id, M.Sales_date, M.Customer_id, M.Total_Weight, M.Tot

在下图中,数据源中显示了一个视图

下图中,数据集设计视图中显示了相同的数据源


在表单上拖放相同的数据源之后,同一网格的DataMember属性在其列表中未显示名称。


网格属性


绑定源的属性


视图的脚本是

ALTER View [dbo].[V_CustomerBalance] as
SELECT M.Sales_id,
       M.Sales_date, 
       M.Customer_id, 
       M.Total_Weight, 
       M.Total_Amount, 
       M.Is_fully_paid, 
       SP.New_SrNo, 
       SP.Total_Amount_Paid,
       (M.Total_Amount - SP.Total_Amount_Paid) AS Due_Amount
  FROM SalesMasterTable AS M ,
       (SELECT P.Sales_id, 
               MAX(P.Sr_no) + 1 AS New_SrNo, 
               SUM(P.Amount_paid) AS Total_Amount_Paid
          FROM SalesPaymentTable AS P
         GROUP BY P.Sales_id
        HAVING MIN(P.Amount_due) > 0) AS SP 
 WHERE M.Sales_id = SP.Sales_id
GO

我的问题是,数据源中的视图是否也应该存在于数据成员中

我想是的。
如果没有,那为什么呢?

有些时候,回到基础上来比较简单

首先,数据网格视图应该使用绑定源组件作为其数据源

GridView的数据成员应为空,且仅选择数据源(绑定源)

如果按照以下步骤操作,将使用sql视图获得网格视图的工作副本

  • 在解决方案中创建新的数据集,并将视图添加到其中
  • 打开网格所在的窗体
  • 在数据集的关联菜单上,将数据源设置为解决方案中的类型化数据集
  • 这将在窗体上创建三个组件

  • 数据集组件
  • 附加到数据集组件的BindingSource
  • 在解决方案数据集中来自您的自定义表适配器
  • 网格视图的数据源将连接到绑定源。绑定源DataSource将设置为表单中的DataSet组件,其DataMember将显示视图名称。Gridview不应该在DataMember属性上显示任何内容,因为它将从绑定源获取所有数据和信息

    在代码中,binging源数据成员属性应设置为视图名称。


    我希望这会有所帮助。

    您是否在创建数据源后创建了视图?如果是这样,您必须刷新数据源。执行了相同的操作,但没有帮助。您将什么设置为datagrid数据源?当我拖放时,它会自动创建一个新的绑定源。BindingSource是网格的数据源。bindingsource的数据源是类型化数据集。Bindingsource和Grid的数据成员为空。必须将datagridview的数据源设置为Bindingsource。