从数据网格中获取值

时间:2009-03-17 22:36:40

标签: c# .net asp.net .net-3.5

我有一个数据网格,我需要在填充后获取一个值。我更喜欢它不是动态的(没有点击)。 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>

2 个答案:

答案 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]

然后去第三个小区。