如何向GridView行添加ID(应该呈现ID)?
我正在使用.NET(C#).我有GridView控件.
我有一些操作表行的javascript函数,但是必须为这些行设置ID:
<table> <tr id=1> ... <tr id=2> ... //id should come from database ..
我的GridView源自DataBase中的Data.重要的是不要有FAKE ROW IDS,而是真正来自DB的行ID(有一些ajax javascript函数可以根据这些ID和用户对表的操作来更新DB).
我的部分GridView如下:
<asp:GridView ID="grdNews" runat="server" BorderStyle="None" RowStyle-BorderStyle="None" GridLines="None" CssClass="table" Style="white-space: nowrap" AutoGenerateColumns="False" DataKeyNames="ID" AllowSorting="True" AllowPaging="true" OnSorting="grdNews_Sorting" OnRowDataBound="grdNews_RowDataBound"> <RowStyle BorderStyle="None" /> <HeaderStyle CssClass="nodrag" /> <Columns> ....
我尝试过以下方法:
protected void grdNews_RowDataBound(object sender,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.ID = grdNews.DataKeys[e.Row.RowIndex].Value.ToString(); } }
这为e.Row.ID提供了正确的值,但这不会呈现此ID.
那么,如何在GridView中从DataBase for Rows呈现ID?
解决方法
试试以下….
protected void grdNews_RowDataBound(object sender,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { GridViewRow row = e.Row; row.Attributes["id"] =grdNews.DataKeys[e.Row.RowIndex].Value.ToString(); } }