Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于下拉选择显示gridview行数_C#_Asp.net_.net_Gridview - Fatal编程技术网

C# 基于下拉选择显示gridview行数

C# 基于下拉选择显示gridview行数,c#,asp.net,.net,gridview,C#,Asp.net,.net,Gridview,我使用这段代码进行gridview计数,并在页面加载时显示在标签中,效果良好 页面加载: int rowCount = dtDetails.Rows.Count; lblTotalRows.Text = rowCount.ToString() + "records found"; 我在gridview上方有一个下拉列表,当我选择下拉列表值时,行数必须根据下拉列表中选择的值进行更改 我怎么可能在下拉选择索引更改中做到这一点 protected void ddlGroup_SelectedInd

我使用这段代码进行gridview计数,并在页面加载时显示在标签中,效果良好

页面加载:

int rowCount = dtDetails.Rows.Count;
lblTotalRows.Text = rowCount.ToString() + "records found"; 
我在gridview上方有一个下拉列表,当我选择下拉列表值时,行数必须根据下拉列表中选择的值进行更改

我怎么可能在下拉选择索引更改中做到这一点

protected void ddlGroup_SelectedIndexChanged(object sender, EventArgs e)
{
    DataTable dtGroup = DataRepository.GetGroup(ddlGroup.Text);
    gvDetails.DataSource = dtGroup;
    gvDetails.DataBind();
   //Now how could I possible show the respective row counts in the label
}

protected void ddlGroup_SelectedIndexChanged(object sender, EventArgs e)
{
    DataTable dtDept = DataRepository.GetDept(ddlGroup.Text, ddlDept.Text);
    gvDetails.DataSource = dtDept;
    gvDetails.DataBind();
   //Now how could I possible show the respective row counts of both group and 
     dept row count  since they are cascading dropdowns in the label
}
有什么建议吗?

我倾向于使用SetData()方法,这样所有这类代码都放在一个地方。因此,在这种情况下,我会:

protected void SetData(DataTable dtGroup)
{
    // Bind the data to the grid
    gvDetails.DataSource = dtGroup;
    gvODetails.DataBind();

    // Show row count
    if (!dtGroup.Rows.Count.Equals(0))
        lblTotalRows.Text = dtGroup.Rows.Count + " records found";
    else
        lblTotalRows.Text = "No records found";
 }

这样,您只有一个地方可以执行所有的“bindind”,因此在页面加载中,您可以调用此SetData()方法并传入datatable,在所选的dexchange上也是如此。

我的页面中有近6个下拉列表,共2组,它们是级联下拉列表。这是否适合该场景,因为我看到您在参数中为一个下拉列表传递一个datatable。