急!DataGrid模板列的奇怪数据绑定!!!请大家帮忙想想办法。
使用DataGrid的模板列绑定一数据。代码如下:
<asp:TemplateColumn HeaderText="状态">
<ItemTemplate>
<asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.status.name") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id="DropDownList1" runat="server" Width="78px"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
问题在<%# DataBinder.Eval(Container, "DataItem.status.name") %>中的绑定的数据列名为“status.name”可是在绑定时,无法以列名“status.name”绑定数据,而是以“status”绑定,结果就出错。因为DataSet.Tables[].Rows[]["status.name"],该列名由数据层决定,由于业务逻辑关系不能修改。
如果使用绑定列就是正常的,如下:
<asp:BoundColumn DataField="status.name" HeaderText="状态">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
初步判断,为"DataItem.status.name"错误,其中数据列名中无法使用点标点“.”。但不知道如何解决。希望大家帮帮忙。谢谢。