如何使用c#代码触发GridView的OnSelectedIndexChanged

本文关键字:GridView OnSelectedIndexChanged 何使用 代码 | 更新日期: 2023-09-27 18:18:50

我有两个网格,grid1grid2

grid2将根据grid1中单击哪一行填充。我是通过绑定OnSelectedIndexChangedgrid1来完成的。

但是在页面加载时,grid2将为空,因为没有进行行选择。
所以我计划使用c#代码触发grid1的行选择,以便两个网格在页面加载时都有数据。

我已经开始编码了。

            grid1.DataSource = versions.DefaultView;
            grid1.SelectedIndex = 0;
            grid1.DataBind();

但是事件没有触发。有人能帮我解决这个问题吗?

如何使用c#代码触发GridView的OnSelectedIndexChanged

您可以通过编程方式调用该方法。

grid1.DataSource = versions.DefaultView;
grid1.SelectedIndex = 0;
grid1.DataBind();
grid1_SelectedIndexChanged(grid1, new EventArgs());

您不需要Page_Load上的事件,因为您已经知道第一个网格的选定索引应该是什么。在用户与页面交互之后需要该事件。只是DataBind()Page_Load上的第二个网格对应于第一个网格的0选择索引的数据,与您绑定第一个网格的方式相同。

if (!IsPostBack)
{
    grid1.DataSource = versions.DefaultView;
    grid1.SelectedIndex = 0;
    grid1.DataBind();
    DataBindGridByIndex(0);
}
else
{
    grid1.DataSource = versions.DefaultView;
    grid1.DataBind();
}
public void DataBindGridByIndex(int index)
{
    // Logic to databind second grid by selected index.
}