C# 从数据网格中获取值

C# 从数据网格中获取值,c#,.net,asp.net,.net-3.5,C#,.net,Asp.net,.net 3.5,我有一个datagrid,我需要在它被填充后从中获取一个值。我希望它不是动态的(没有点击)。datagrids最终产品是一组标题和一行 Header1 | Header2 | Header3 Value1 | Value1 | Value1 我希望能够得到任何值,无论其位置如何,但现在我只需要从第3列中获得最后一个值 我正在使用C#和ASP.NET3.5 我的asp.net如下所示: <asp:Panel runat="server" ID="pnlCheckData" Width="73

我有一个datagrid,我需要在它被填充后从中获取一个值。我希望它不是动态的(没有点击)。datagrids最终产品是一组标题和一行

Header1 | Header2 | Header3

Value1 | Value1 | Value1

我希望能够得到任何值,无论其位置如何,但现在我只需要从第3列中获得最后一个值

我正在使用C#和ASP.NET3.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>

请原谅我没有正确的语法,我现在没有visual studio或任何C代码

但是使用ViewData,gridview对象,您应该能够执行以下操作

ViewData.getRows()
它将返回一个可以迭代的行集合

当你到达最后一排时,你应该能够做到

cells = row.getCells()
cells[3]

然后转到第三个单元格。

请原谅我没有正确的语法,我眼前没有visual studio或任何C代码

但是使用ViewData,gridview对象,您应该能够执行以下操作

ViewData.getRows()
它将返回一个可以迭代的行集合

当你到达最后一排时,你应该能够做到

cells = row.getCells()
cells[3]

然后转到第三个单元格。

您可能希望创建自己的列模板,而不是让GridView自动生成列。这样,您就可以为它生成的文本框或标签指定ID,这样您就可以使用FindControl(“controlID”)从中获取值

如果您确实只需要第三列中的最后一个值,那么另一种方法是按照nemo的建议执行(如果您有一个页脚行,则此代码会略有不同,但以下代码将为您获取包含所需数据的单元格):

然后,您可以获取
myTableCell.Text
,或者,例如,如果其中有一个TextBox控件:
(myTableCell.Controls[0]作为TextBox)。Text


希望这能有所帮助。

您可以创建自己的列模板,而不是让GridView自动生成列。这样,您就可以为它生成的文本框或标签指定ID,这样您就可以使用FindControl(“controlID”)从中获取值

如果您确实只需要第三列中的最后一个值,那么另一种方法是按照nemo的建议执行(如果您有一个页脚行,则此代码会略有不同,但以下代码将为您获取包含所需数据的单元格):

然后,您可以获取
myTableCell.Text
,或者,例如,如果其中有一个TextBox控件:
(myTableCell.Controls[0]作为TextBox)。Text


希望这有帮助。

在数据绑定后或在呈现后在浏览器中获取值服务器端?我想在数据绑定后获取值服务器端。根据Nemo和Cory的建议,我得到一个编译错误,我也从web教程中得到了它:“System.web.UI.WebControl.ObjectDataSource”不包含“Rows”的定义,并且没有扩展方法“Rows”接受类型为“System.web.UI.WebControl.ObjectDataSource”的第一个参数,即“System.web.UI.WebControl.ObjectDataSource”在数据绑定后或呈现后在浏览器中获取值?我想在服务器端使用它在数据绑定之后,按照尼莫和科里的建议,我得到了一个编译错误,我也从web教程中了解到:“System.web.UI.WebControls.ObjectDataSource”不包含“Rows”的定义,并且没有扩展方法“Rows”接受类型为“System.web.UI.WebControls.ObjectDataSource”的第一个参数,我发现的大多数示例都说我应该使用row/Rows,但我总是遇到编译错误:“System.Web.UI.WebControls.ObjectDataSource”不包含“Rows”的定义,并且没有接受“System.Web.UI.WebControls.ObjectDataSource”类型的第一个参数的扩展方法“Rows”,我发现的大多数示例都说我应该使用row/Rows,但我总是会得到一个编译错误:“System.Web.UI.WebControls.ObjectDataSource”没有包含“Rows”的定义,并且没有接受“System.Web.UI.WebControl.ObjectDataSource”类型的第一个参数的扩展方法“Rows”