2015-02-06 10 views
1

我有一個GridView ..更多的細胞,然後宣佈GridView的

<asp:GridView ID="dvExterneHulp" runat="server" auto AutoGenerateRows="False" GridLines="None" 
    AlternatingRowStyle-CssClass="odd" AllowPaging="true" CssClass="mGrid niceTable" 
    OnRowDataBound="dvExterneHulp_DataBound" PagerStyle-CssClass="pgr" OnPageIndexChanging="gv_PageIndexChanging"> 
    <AlternatingRowStyle CssClass="odd"></AlternatingRowStyle> 
    <Columns> 
     <asp:BoundField DataField="HulpverlenerNaam" HeaderText="Naam hulpverlener" /> 
     <asp:BoundField DataField="HulpverlenerAdres" HeaderText="Adres hulpverlener" /> 
     <asp:TemplateField HeaderText="Uitleg"> 
      <ItemTemplate> 
       <asp:Label ID="Label1" runat="server" Text='<%# Eval("Uitleg").ToString().Replace("\n", "<br />") %>' 
        Style="word-break: normal; word-wrap: normal;"></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="DatumBegin" HeaderText="Begindatum" DataFormatString="{0:dd/MM/yyyy}" /> 
     <asp:BoundField DataField="klas_id" HeaderText="Klas" /> 
     <asp:BoundField DataField="DatumEind" HeaderText="Einddatum" DataFormatString="{0:dd/MM/yyyy}" /> 
    </Columns> 
    <PagerStyle CssClass="pgr" /> 
</asp:GridView> 

我想6周的Datafields ..這工作,我得到一個查詢的信息。但是查詢在結果中有更多的字段(ids,...)。額外的字段在最後添加,我怎樣才能阻止它?

我也不能進入細胞中的RowDataBound做一些自定義的修改..

protected void dvExterneHulp_DataBound(object sender,GridViewRowEventArgs e) 
    { 
     if (dvExterneHulp.Rows.Count > 0) 
     { 
      e.Row.Cells[4].Text = //GET Datafield klas_id 
     service.getKlasNaamById(Convert.ToInt32(e.Row.Cells[4].Text)); 
}} 

我得到一個錯誤,這是超出範圍..

誰能幫我?我試圖理解我的錯誤。

+2

如果使用'的AutoGenerateColumns =「假」'(**編輯**你不照尼瑪指出)字段是不是** * *自動添加到最後。那麼你在哪裏添加它們?根據你的第二個問題,你爲什麼不能從RowDataBound中訪問網格中的單元格:因爲你沒有檢查過RowState。你只需要'if(e.Row.RowType == DataControlRowType.DataRow){}'不是頭部。 – 2015-02-06 09:21:04

回答

3

你應該使用AutoGenerateColumns="False"過,你設置AutoGenerateRows="False"現在