2012-06-20 54 views
0

我想加載我的gridview(我是新來的),我有點迷路。我想要做的是手動創建一個名爲「Description」的列標題,並從我的表DocumentTypes(dataset1)的sql數據集中獲取所有其他列標題。從sql源加載GridView

「Description」列需要從表「Literature」(dataset2)中獲取所有內容。 所有其他列需要從表格「文檔」(dataset3)中獲取所有內容(如果有的話)

這裏是我卡住的地方。 這是我手動創建我的第一列標題。我希望這個列有來自dataset2的所有信息。

BoundField m_bfBoundField = new BoundField(); 
m_bfBoundField.HeaderText = "Description"; 
m_bfBoundField.DataField = "Name"; 
gridView.Columns.Add(m_bfBoundField); 

話,我

gridView.DataSource = dataset2; 
gridView.DataBind(); 

我想同樣的事情從datasource1讓我的頭,但沒有把.DataField現在(我需要一個爲我的關係?)

實際上,這是從datasource2獲取所有「名稱」列,並將其加載到「說明」列,但它也顯示在我的網格中的「名稱」列,具有相同的信息:(。

什麼是錯,我該怎麼做?明白了嗎?

我想

------------------------------------------------------------------------------------------------------- 
| Description (can be called as I want) | Manuals (data from dataset1) | Catalog (data from dataset1) | 
------------------------------------------------------------------------------------------------------- 
| DescripionA (data from dataset2)  | Yes (data from dataset3)  | No (data from dataset3)  | 
| DescripionB (data from dataset2)  | No (data from dataset3)  | Yes(data from dataset3)  | 
------------------------------------------------------------------------------------------------------- 

謝謝!

回答

0

這可能是一個痛苦的屁股,但我知道如何做到這一點是設置這在GridView

AutoGenerateColumns="False" 

,然後讓你的所有列數據綁定物品的唯一途徑。如果您希望列標題與數據集列名稱相同,則不要在新的boundField()中設置HeaderText;

您可以直接在.aspx頁面上像這樣

<asp:GridView ID="Gridview1" runat="server" CellPadding="4" 
    ForeColor="#333333" GridLines="None" AutoGenerateColumns="False"> 
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
    <Columns> 
     <asp:TemplateField ShowHeader="False"> 
      <ItemTemplate> 
       <asp:LinkButton ID="NONOPSgridviewDelete" runat="server" CausesValidation="false" 
        CommandName="Delete" Text="Delete"></asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <!-- These are the boundedfields of the rest of your dataset --> 
     <asp:BoundField DataField="Firstname"/> 
     <asp:BoundField DataField="Lastname" /> 
    </Columns> 
</asp:GridView> 

希望這有助於

0

你可以嘗試新的列添加到您的數據源做到這一點?
或者您可以將您的數據源複製到新的數據表中,並在新的數據表中添加新列。 之後,將該數據表作爲數據源綁定到您的網格。
好的方法來編輯您的數據源是因爲如果你重新排序數據在你的網格描述可能不是你喜歡的,如果他們沒有堆放在數據源中。