我有一个数据网格,我需要在填充后获取一个值。我更喜欢它不是动态的(没有点击)。 datagrids最终产品是一组标题和一行
Header1| Header2| Header3
Value1 | Value1 | Value1
我希望能够获得任何价值,无论其位置如何,但现在我只需要从第3列获得最后一个值。
我正在使用C#和ASP.NET 3.5
我的asp.net看起来像这样:
<asp:Panel runat="server" ID="pnlCheckData" Width="730px">
<asp:GridView DataKeyNames="uniqueName" id="ViewData" DataSourceID="srcView" Runat="server" AllowSorting="false" CellPadding="1" CellSpacing="1" Visible="true" GridLines="Vertical" Font-Size="X-Small">
<AlternatingRowStyle CssClass="alternating" />
</asp:GridView>
</asp:Panel>
<asp:ObjectDataSource id="srcCertificationView" TypeName="CertificationClass" SelectMethod = "GetReportSummaryData" Runat="server">
<SelectParameters>
<asp:ControlParameter Name="datasourceID" ControlID="Selection" />
<asp:ControlParameter Name="Code" ControlID="countrySelection" />
<asp:ControlParameter Name="dateRange" ControlID="dateSelection" />
<asp:ControlParameter Name="dateProcessed" ControlID="MostRecent" />
</SelectParameters>
</asp:ObjectDataSource>
答案 0 :(得分:2)
您可能希望创建自己的列模板,而不是让GridView自动生成列。通过这种方式,您可以为文本框或标签生成ID,以便您可以使用FindControl('controlID')从中获取值。
另一种方法,如果你真的只需要第三列中的最后一个值,那就是做nemo建议的(如果你有一个页脚行,这段代码会有点不同,但以下内容会让你包含所需数据的单元格:
TableCell myTableCell = myGridView.Rows[myGridView.Rows.Count - 1].Cells[2];
然后您可以获取myTableCell.Text
或者,例如,其中是否有TextBox控件:(myTableCell.Controls[0] as TextBox).Text
希望这有帮助。
答案 1 :(得分:1)
请原谅我缺乏正确的语法,目前我还没有Visual Studio或任何C#代码。
但是使用ViewData,gridview对象,您应该可以执行类似
的操作ViewData.getRows()
将返回您可以迭代的行集合。
当你到达最后一行时,你应该能够做到
cells = row.getCells()
cells[3]
然后去第三个小区。