2012-01-13 58 views
1

當XML節點列表中的某個標記丟失時,我在綁定gridview時遇到問題。我收到以下錯誤消息:C# - 在所選數據源中未找到名稱爲「SUMMARY」的字段或屬性

在所選數據源上找不到名稱爲「SUMMARY」的字段或屬性。

請人幫助我如何結合,這樣我可以顯示自定義的文本消息,例如在處理缺失值:「沒有可用的綜述」

我使用的.NET版本3.5和XML綁定在GridView數據。

ASPX代碼:

  <asp:GridView ID="gvSystemX" runat="server" AutoGenerateColumns="False" AlternatingRowStyle-CssClass="even" 
     CellPadding="4" Font-Names="Tahoma" Font-Size="Small" ForeColor="#333333" GridLines="None" EmptyDataText="Mayur"> 
     <RowStyle BackColor="#E3EAEB" /> 
     <Columns> 
      <asp:BoundField HeaderText="TITLE" DataField="AZKTITLE" /> 
      <asp:BoundField HeaderText="DESCRIPTION" DataField="AZKSUMMARY" /> 
      <asp:BoundField HeaderText="SOURCE" DataField="AZKSOURCE" /> 
      <asp:BoundField HeaderText="DATABASE NAME" DataField="DREDBNAME" /> 
     </Columns> 
     <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" /> 
     <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" /> 
     <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" /> 
     <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" /> 
     <EditRowStyle BackColor="#7C6F57" /> 
     <AlternatingRowStyle CssClass="even"></AlternatingRowStyle> 
    </asp:GridView> 

代碼背後:

在我收到的XML數據響應對象...

  XmlNamespaceManager nsMgr = new XmlNamespaceManager(response.NameTable); 
      nsMgr.AddNamespace("autn", "http://schemas.autonomy.com/aci/"); 

      nodeList = response.SelectNodes("autnresponse/responsedata/autn:hit/autn:content/DOCUMENT", nsMgr); 
      gvSystemX.DataSource = ConvertToDataTable(nodeList); 
      gvSystemX.DataBind(); 
+0

發佈XML,數據綁定代碼和gridview標記。沒有這一點,就不可能提供幫助。 – Glenn 2012-01-13 10:22:23

+1

@Glenn再次閱讀,* XML節點列表中的標記之一缺失*,總之OP想要處理異常 – V4Vendetta 2012-01-13 10:27:22

+0

啊哈,對不起我快到那裏...... – Glenn 2012-01-13 10:31:57

回答

1

此錯誤是監守的DataTable's的DataRow當然沒有列摘要(AZKSUMMARY)。這可以在你的ConvertToDataTable方法中解決。在那裏我假設你正在創建所有現有節點的列。

即使不存在於xml文件中,也必須爲每一行創建所有4列。如果不存在,您可以添加所需的值,例如「No Summary Available」。

更好的辦法是實現一個具有4個屬性的對象並將它們放入列表中。但如果你喜歡它,堅持數據表。

相關問題