在aspx页面写:
<asp:DataGrid ID="DtGrd" runat="server" PageSize="10" GridLines="None" CssClass="datagrid1" AllowPaging="True" DataKeyField="sgid"
AutoGenerateColumns="False" CellPadding="3" CellSpacing="1" OnItemCommand="DtGrd_ItemCommand" OnItemDataBound="DtGrd_ItemDataBound" OnPageIndexChanged="DtGrd_PageIndexChanged" >
<PagerStyle Mode="NumericPages" CssClass="dg_page" HorizontalAlign="Center"></PagerStyle>
<HeaderStyle CssClass="Header_co" HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" />
<Columns>
<asp:TemplateColumn HeaderText="序号">
<ItemTemplate>
<asp:Label ID="Labelxh" runat="server" Text="<%# Container.ItemIndex+1 %>">
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="事故单位">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"sgCompany") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="事故部门">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%#Eval("sgDept") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="登记人">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.registerPer") %>'></asp:Label> //registerPer字段存的是登记人的id
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="登记时间">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.registerDate","{0:yyyy-MM-dd}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="事故发生地点">
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%#Eval("sgLocation") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="操作">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%#Eval("sgMark") %>' Visible="false"></asp:Label>
<asp:Label ID="Label4" runat="server" Text='<%#Eval("judgeClTJ") %>' Visible="false"></asp:Label>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="edit">查看</asp:LinkButton>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
在后台写:
protected void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)//当数据绑定的时候
{if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)//判断单双行
{Label Label6= (Label)e.Item.FindControl("Label6");//获取DataGrid控件中绑定数据的那一列的label(根据id确定),那一列在页面上显示为数据的id
Label6.Text = UtilityFunctions.getQyUserName(Label6.Text);//通过“根据id获取name的方法”把这一列绑定为name //封装好的方法,根据id登记人id,转换成name}
}