朋友们,我的网页中有一个gridview,按以下方式设计: -
<div id="divProducts" style="height:200px; overflow:auto">
<asp:GridView ID="grdPrevious" runat="server" Width="100%"
AutoGenerateColumns="false" ShowHeader="false" GridLines="None"
ShowFooter="true" AllowPaging="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<tr>
<td style="width:20%; visibility:hidden">
<label class="labelHead">Activity Id </label>
</td><td></td>
<td style="width:80%; visibility:hidden">
<asp:Label ID="Label5" runat="server"
Text='<%# Eval("USER_ACTIVITIES_ID") %>'
CssClass="labelCss"></asp:Label>
</td>
</tr>
<tr>
<td style="width:20%" >
<label class="labelHead">Date </label>
</td><td>:</td>
<td style="width:80%">
<asp:Label ID="Label1" runat="server"
Text='<%# Eval("ACTIVITY_DATE1") %>'
CssClass="labelCss"></asp:Label>
</td>
</tr>
<tr>
<td>
<label class="labelHead">Interaction Type </label>
</td>
<td>:</td>
<td>
<asp:Label ID="Label2" runat="server"
Text='<%# Eval("INTERFACE_DESCRIPTION") %>'
CssClass="labelCss" ></asp:Label>
</td>
</tr>
<tr>
<td>
<label class="labelHead">Prospect</label>
</td>
<td>:</td>
<td>
<asp:Label ID="Label3" runat="server"
Text='<%# Eval("PROSPECT_DESCRIPTION") %>'
CssClass="labelCss"></asp:Label>
</td>
</tr>
<tr>
<td valign="top" >
<label class="labelHead">Note </label>
</td>
<td valign="top">:</td>
<td valign="top">
<asp:Label ID="Label4" runat="server"
Text='<%# Eval("NOTES") %>' CssClass="labelCss">
</asp:Label>
</td>
</tr>
<tr>
<td colspan="3"><hr size="1px" color="#D5DEA1"
style="margin:10px 0px;" />
</td>
</tr>
</ItemTemplate>
<ItemStyle Font-Names="Trebuchet MS;" />
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="center" class="gridViewNoRecords">
No Records found
</td>
</tr>
</table>
</EmptyDataTemplate>
</asp:GridView>
</div>
我正在使用数据源绑定此网格。现在,我想从gridview的最后一个填充行获取“USER_ACTIVITIES_ID”的值。我正在使用hiddenfield来保存此id并使用javascript将其用于项目中的其他目的。但是,我的问题是我没有得到ID的值(无论是后端编码还是javascript)。任何人都可以告诉我在哪个事件或代码,我可以得到这个价值?请,我需要它很严重。提前谢谢。
答案 0 :(得分:1)
试试这个:
int lastrow = grdPrevious.Rows.Count - 1;
Label lb = (Label)grdPrevious.Rows[lastrow].FindControl("Label5");
Response.Write(lb.Text);
答案 1 :(得分:0)
目的是什么?例如。如果要删除或编辑特定项目,请单击表格行中的按钮?
答案 2 :(得分:0)
我会使用JQuery访问divProducts中的Label5的最后一个实例。首先,我将为Label5添加一个额外的类,以便它与表中的所有其他跨度标记不同(注意:asp:Label将呈现SPAN)
<asp:Label ID="Label5" runat="server"
Text='<%# Eval("USER_ACTIVITIES_ID") %>'
CssClass="labelCss useractivity"></asp:Label>
然后在客户端上找到它。
var id=$("#divProducts").children("span[class=useractivity]:last").text();
答案 3 :(得分:0)
确定。我想你想做的就是分页。如果我是对的,那么有许多教程要做表格分页(批量行的分页,以编号顺序)。在ASP.Net中,我认为有一个名为'AlloWPaging'的属性用于标准的'GridView'控件。
答案 4 :(得分:0)
这是我身边最好的主意。 -
使用DOM迭代<tr>
个元素。首先采用<table>
元素。
然后获得firstChild。虽然<tr>
元素中有更多<table>
个元素
继续迭代。当你得到最后一个元素时,你就在那里。
您可以在最后一个TR中查找TD,其中存储了最后一个USER_ACTIVITY_ID。 然后你可以得到内部文本值。 一个简单的例子是 -
getTextFromTD = function() {
var gridView = document.getElementById("myGridView");
var lastTR = gridView.childNodes.item(5);
var ourRequiredTD = lastTR.childNodes(2);
requiredText = ourRequiredTD.innerHTML;
}
(有时当实际代码不在我面前时,很难提供帮助。)
答案 5 :(得分:0)
您需要为GridView提供HTML ID(在您的情况下,它是grdPrevious)。
您可以在设计视图中打开网页,然后写入<HEAD>
-
<script language='javascript' runat='server'>
</script>
你可以使用John Hartsock在
中列出的代码在那里使用javascriptthis链接。
希望它对你有所帮助。 :)(实际上我不是asp.net开发人员)
答案 6 :(得分:0)
试试这个!
int lastRecord = grdPrevious.Rows.Count - 1;
Label lbl;
lbl = (Label)grdPrevious.Rows[lastRecord].Cells[0].FindControl("Label5");
int ID = Convert.ToInt32(lbl.Text);
希望这个有帮助!