1,
<asp:ButtonColumn Text="详细资料" CommandName="show_detail">
<ItemStyle HorizontalAlign="Center" Width="10%" BackColor="#d1ecff"></ItemStyle>
</asp:ButtonColumn>
2,自定义DataTable,用datareader把数据库中数据添加进去后,再添加自定义行。

解决方案 »

  1.   

    <asp:datagrid id="dgUsers" runat="server" CssClass="td" Width="100%" BackColor="#F0F0E8" BorderColor="#999999"
    AllowPaging="True" AutoGenerateColumns="False" DataKeyField="id" AllowSorting="True" PageSize="20">
    <AlternatingItemStyle BackColor="#F8F4E4"></AlternatingItemStyle>
    <ItemStyle Wrap="False"></ItemStyle>
    <HeaderStyle Wrap="False" CssClass="tttable" BackColor="#D8C8A8"></HeaderStyle>
    <Columns>
    <asp:TemplateColumn>
    <HeaderStyle HorizontalAlign="Center" Width="5%"></HeaderStyle>
    <ItemTemplate>
    <FONT face="宋体"><INPUT id="chkSelect" type="checkbox" value='<%#DataBinder.Eval(Container.DataItem,"ID")%>'></FONT>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn SortExpression="ChineseName" HeaderText="姓名">
    <ItemTemplate>
    <img src="../images/man.gif">
    <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ChineseName") %>'>
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ChineseName") %>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="Name" SortExpression="Name" HeaderText="登录账号"></asp:BoundColumn>
    <asp:BoundColumn DataField="Password" SortExpression="Password" HeaderText="密码">
    <HeaderStyle HorizontalAlign="Center" Width="10%"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="Note" SortExpression="note" HeaderText="备注">
    <HeaderStyle HorizontalAlign="Center" Width="55%"></HeaderStyle>
    </asp:BoundColumn>
    <asp:TemplateColumn HeaderText="">
    <ItemStyle Width="20" HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
    <ItemTemplate>
    <a onclick='openWinNormal("<%# "user_view.aspx?userid=" + DataBinder.Eval(Container.DataItem,"ID")%>",550,550);' >
    <img src="images/print_preview.gif" style="cursor:hand"></a>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    <PagerStyle NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Center" ForeColor="Black"
    BackColor="#F0F0E8" Mode="NumericPages"></PagerStyle>
    </asp:datagrid>
      

  2.   

    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:Button id="Button1" runat="server" Text="预览" OnClick="Preview()"></asp:Button>
    <asp:Button ...
    </ItemTemplate>
    asp:TemplateColumn>
      

  3.   

    前台代码:
    <asp:datagrid id="dg" runat="server"
    ...
    <HeaderTemplate>
    <center>操作</center>
    </HeaderTemplate>
    <ItemTemplate>
    <asp:linkbutton CssClass="button" ID="lbView" Runat="server" OnClick="lbViewClick">查看</asp:linkbutton>&nbsp;
    <asp:linkbutton ID="lbEdit" Runat="server" OnClick="lbEditClick">编辑</asp:linkbutton>&nbsp;
    <asp:linkbutton ID="lbDel" Runat="server" OnClick="lbDelClick">删除</asp:linkbutton>
    </ItemTemplate>
    ...后台代码: protected void lbViewClick(object sender,EventArgs e)
    {
    LinkButton nmm_lbTmp;
    int nmm_intID = 0;
    for (int nmm_intNum=0;nmm_intNum<this.dg.Items.Count;nmm_intNum++)
    {
    nmm_lbTmp = (LinkButton)this.dg.Items[nmm_intNum].FindControl("lbView");
    if (nmm_lbTmp.ClientID == ((LinkButton)sender).ClientID)
    {
    nmm_intID = Convert.ToInt32(this.dg.DataKeys[nmm_intNum]);
    break;
    }
    } Server.Transfer("page.aspx");
    }