C# Gridview上的行计数

C# Gridview上的行计数,c#,asp.net,gridview,rows,C#,Asp.net,Gridview,Rows,(这是另一个问题,因为我原来的帖子,我一次问了太多问题) 让我先说明这一点。我对ASP编码几乎一无所知。我正在做一个小项目,它要求我使用ASP而不是我以前使用过的PHP。在过去的两天里,我一直在寻找解决方案,并尝试了许多方法,但似乎无法使其与我的代码一起工作。我已经加入这个网站一段时间了,所以我知道它是如何工作的。如果一段时间内我没有试着自己做这件事,我不会在这里问。我在这里学到了大量关于SQL的信息,所以我希望用ASP也能做到这一点 问题: 显示返回的行数 当页面最初加载时,它只有一个Text

(这是另一个问题,因为我原来的帖子,我一次问了太多问题)

让我先说明这一点。我对ASP编码几乎一无所知。我正在做一个小项目,它要求我使用ASP而不是我以前使用过的PHP。在过去的两天里,我一直在寻找解决方案,并尝试了许多方法,但似乎无法使其与我的代码一起工作。我已经加入这个网站一段时间了,所以我知道它是如何工作的。如果一段时间内我没有试着自己做这件事,我不会在这里问。我在这里学到了大量关于SQL的信息,所以我希望用ASP也能做到这一点

问题:

显示返回的行数 当页面最初加载时,它只有一个TextBox1和一个按钮。如果我没有在框中输入任何内容并点击按钮,它将加载我的GridView,其中包含SQL Select中的所有数据行。当我点击按钮时,我想在按钮旁边显示返回的行数

GridView1:

<asp:TextBox ID="TextBox1" runat="server" Width="265px" Height="22px" CssClass="myBox"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Search Fields" CssClass="myButton" />
<asp:GridView ID="GridView1" OnPageIndexChanging="GridView1_PageIndexChanging" OnSorting="GridView1_Sorting" runat="server" AutoGenerateColumns="true" CellPadding="4" EnableModelValidation="True" EnableTheming="True" ForeColor="#333333" GridLines="None" Width="100%" style="margin-top: 0px; text-align: center;" AllowPaging="True" AllowSorting="True" >
    <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    <EditRowStyle BackColor="#999999" />
    <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
    <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
</asp:GridView>
获取总行数

int TotalRecord = dt.Rows.Count();

您可能只需在OnClick事件中设置所有内容,但如果它不起作用,您可能必须在创建gridview时设置行数,然后我将创建一个标签并设置
label=TotalRecord.text
。将
label.visible=False
,并在按钮onclick事件中设置
label.visible=true

返回的行数将存储在dataset实例中。因此,通过计数,您将获得返回的行信息。数据集包含行、列、主键、约束以及与其他DataTable对象的关系。我们可以通过使用数据集中表的rows.Count属性从中获取行数

  ds.Tables[0].Rows.Count

我现在在Linux上,我正在RoR中编码。。。。我现在不能测试。。。 但如果您需要知道GridView中有多少项,只需使用:

int qty = GridView1.Rows.Count;
这是你需要的吗

一些样品。。。总是在MSDN中找到关于微软开发者的信息,那里有很多东西


如果在用户单击按钮之前您不想显示计数,这意味着您将在回发邮件上获得计数,而不是在页面的原始显示上。但您将在原始显示上填充gridview。因此在回发时,数据集不再可用,因此不能只说textbox1.text=ds.tables(0.rows.count)。您必须(a)重新运行查询,这似乎是在浪费资源,或者(b)将计数隐藏在初始加载的某个位置

我建议(b)。您可以在初始加载时填充文本框并将其隐藏(textbox1.visible=false)。或者您可以创建一个隐藏字段来保持计数,或者将其置于视图状态,然后在需要时从那里检索它

两种方式:

第一:我会对控件使用有意义的名称,而不是“textbox1”和“gridview1”。阅读这样的程序要容易得多

if update_order.checked then ...
而不是

if checkbox1.checked then ... 
第二:在数据库调用中有一些不必要的步骤。您不需要xp.ExecuteNonQuery。fill()将执行查询。您运行了两次:第一次扔掉结果,第二次处理结果。此外,通常不需要在参数上指定数据类型。你可以直接写

xp.parameters.AddWithValue("@search",textbox1.text)

与@user3841709所说的内容配合得很好。但我只能感谢你们中的一位。和@Midhun说的话一起工作很好。但我只能感谢你们中的一位。这能回答你们的问题吗?
xp.parameters.AddWithValue("@search",textbox1.text)