使用SQL Server表对gridview进行分组仅添加1项pr id

时间:2016-05-07 23:04:04

标签: c# sql-server wpf gridview grouping

我遇到一个问题,即每个ID只会在表格中添加1个项目。

我有2个表,第一个Data.Mærke包含组说明的ID和名称,第二个Data.Hjuldata包含Data.Mærke的ID和项目的ID以及所有项目

enter image description here

字符串

string connStrings = ConfigurationManager.AppSettings["Sql"];

string Data = @"Select ps.Mærket AS SubCategoryName, P.DataID, P.Billed, P.Model, P.Årgang, P.[Motor Type], P.Krydsmål, P.Centerhul, P.Møtrikker, P.Bolter, P.Dæk, P.Fælge from Data.Hjuldata P  inner join Data.Mærke PS on P.DataID = PS.MærkeID";

代码

public MainWindow()
{
    InitializeComponent();
    BindData();

    ICollectionView dataView = CollectionViewSource.GetDefaultView(hjuldata.ItemsSource);

    dataView.GroupDescriptions.Add(new PropertyGroupDescription("SubCategoryName"));
}

private void BindData()
{
    hjuldata.ItemsSource = RetrieveProductsbySubCat().Tables[0].DefaultView;    
}

public DataSet RetrieveProductsbySubCat()
{
    //SQL statement to fetch entries from products
    DataSet dsProducts = new DataSet();

    //Open SQL Connection
    using (SqlConnection conns = new SqlConnection(connStrings))
    {
        conns.Open();

        //Initialize command object
        using (SqlCommand cmds = new SqlCommand(Data, conns))
        {
            SqlDataAdapter adapters = new SqlDataAdapter(cmds);

            //Fill the result set
            adapters.Fill(dsProducts);
        }
    }

    return dsProducts;
}

奥迪是id 39,美洲虎是38,在美洲虎下我有220件完全相同的Mærkeid,但只有1件出现The Data i getting

1 个答案:

答案 0 :(得分:1)

看起来您在查询中加入了错误的列,请尝试以下操作:

Select ps.Mærket AS SubCategoryName, P.DataID, P.Billed, P.Model, 
       P.Årgang, P.[Motor Type], P.Krydsmål, P.Centerhul, P.Møtrikker, 
       P.Bolter, P.Dæk, P.Fælge 
from Data.Hjuldata P  
join Data.Mærke PS 
on P.MærkeID = PS.MærkeID;

您尝试加入原始查询中的P.DataID = PS.MærkeID。这似乎不正确。