2012-05-21 54 views
0

我有一個情況,如:從DB我越來越喜歡如何格式化DataSet以在單個列中包含多個數據?

------------------------------------------------- 
ID BOOK_NAME AUTHOR REMARKS 
1 ASP.Net xyz It is a good book. 
1 ASP.Net xyz I like this book. 
1 ASP.Net xyz It worth buying. 
2 C#.net abc It is a average book. 
2 C#.net abc It is good for beginner. 
-------------------------------------------------- 

數據正如你所看到的,我有一個特定的書細節多的言論。我把它作爲一個DataSet。我的問題是刪除重複的行並將其設置爲像在DataSet中。

------------------------------------------------- 
ID BOOK_NAME AUTHOR REMARKS 
1 ASP.Net xyz It is a good book. 
        I like this book. 
        It worth buying. 
2 C#.net abc It is a average book. 
        It is good for beginner. 
-------------------------------------------------- 

通過使用dataSetObj.GetXml()創建數據集I必須轉換爲XML後;

任何想法如何在C#中做到這一點?

+0

您的選擇如何看起來像?你使用Join嗎? –

+0

你的數據庫模式是什麼?你需要將你的數據分成兩個表,但是爲他們寫一個查詢,我需要你的數據庫模式。 –

+0

你知道有多行具有相同的行ID是一個錯誤嗎?每行應該有一個唯一的ID。本書的名稱和本書的作者將允許您有多個「評論」並破壞關於數據庫模式的基本規則。 –

回答

0

您可以保留其餘行爲空白。就我所知,您無法自行創建自定義數據集。

0

把你的數據到DataTable

商店的第一行的,第一個單元內容

遍歷從第2行整個網格直到結束 並檢查名稱列的值是相同或不。 如果相同,則用空字符串 替換該值,否則繼續使用新值。上述過程將重複進行

private void GenerateUniqueData(int cellno) 
{ 
    //Logic for unique names 

    //Step 1: 

    string initialnamevalue = grdUniqueNames.Rows[0].Cells[cellno].Text; 

    //Step 2:   

    for (int i = 1; i < grdUniqueNames.Rows.Count; i++) 
    { 

     if (grdUniqueNames.Rows[i].Cells[cellno].Text == initialnamevalue) 
      grdUniqueNames.Rows[i].Cells[cellno].Text = string.Empty; 
     else 
      initialnamevalue = grdUniqueNames.Rows[i].Cells[cellno].Text; 
    } 
} 
相關問題