日期:2014-05-18  浏览次数:20817 次

asp.net gridview绑定数据源问题
一个gridview需要绑定两个不同的数据源,两个数据源的字段名只有一个差别,就是一个数据源有Isread的字段,一个没有。前台现在是这样写的:
<asp:TemplateField HeaderText="已读/未读" >
  <ItemTemplate>
  <%-- <input type="text" id="Isread" <%# DataBinder.Eval(Container.DataItem, "i_IsRead")%> />--%>
  <asp:Label runat="server" ID="lab_state" Text= <%# DataBinder.Eval(Container.DataItem, "i_IsRead")%> />
  </ItemTemplate>
  <ItemStyle HorizontalAlign="Center" />
  <HeaderStyle Width="5%" HorizontalAlign="Center" />
  </asp:TemplateField>
可是这样的话,如果我绑定了没有Isread这个字段的数据源就会报错。请问怎么样才能解决到这个问题?
谢谢!!!!


------解决方案--------------------
没有那个字段直接绑定肯定出错啊,你应该在CS先从Cloumns中移除i_IsRead这一列,然后再绑定
------解决方案--------------------
还有一个方法,在sql中虚拟一个字段,例如: select '' as i_IsRead, ... from ....
这样没有的就不用在datatable里再加了
------解决方案--------------------
探讨

还有一个方法,在sql中虚拟一个字段,例如: select '' as i_IsRead, ... from ....
这样没有的就不用在datatable里再加了