Asp.net 以编程方式触发SelectedIndexChanged事件

Asp.net 以编程方式触发SelectedIndexChanged事件,asp.net,events,Asp.net,Events,我在asp.net中有一个项目,其中我使用UserControl,并希望实现以下目标: UserControl具有datagrid dg,此UserControl具有datagrid的SelectedIndexChanged事件:dg\u SelectedIndexChanged(对象发送方,EventArgs e) 当我使用class1.cs中的函数SetDataGridSelectIndex(datagrid dg,int CellIndex)设置datagrid的选定索引时,我想从另一个类

我在asp.net中有一个项目,其中我使用UserControl,并希望实现以下目标:

  • UserControl具有datagrid dg,此UserControl具有datagrid的SelectedIndexChanged事件:
    dg\u SelectedIndexChanged(对象发送方,EventArgs e)

  • 当我使用class1.cs中的函数
    SetDataGridSelectIndex(datagrid dg,int CellIndex
    )设置datagrid的选定索引时,我想从另一个类文件clas1.cs为datagrid启动
    dg\u SelectedIndexChanged

  • usercontrol文件中的此函数:

    void dg_SelectedIndexChanged(object sender, EventArgs e)
    {
       // ...
    }
    
    class1.cs类中的此函数:

    private static void SetDataGridSelectIndex(DataGrid dg, int CellIndex)
    {
        try
        {
            dg.SelectedIndex = -1; // this line set sleceted index to -1
            dg.SelectedIndex = dg.Items.Count - 1; // this line change the selected index,
    // I WANT HERE TO FIRE THE dg_SelectedIndexChanged AUTOMATICALLY. BECAUSE OF THE INDEX CHANGE 
    
        }
        catch (Exception ex) 
        { }
    }
    
    我想当我调用SetDataGridSelectIndex(dg,3)并向其传递datagrid dg时,它会自动触发dg的selectedindexchanged,只需执行以下操作:

  • 公开UserControl中调用datagrid的SelectedIndexChanged事件的公共属性
  • 将UserControl传递到Class1实例中,并从那里调用公共属性

  • 谢谢主席先生;但是我想在函数中激发datagrid的selectedindexchanged:私有静态void SetDataGridSelectIndex(datagrid dg,int CellIndex){try{dg.SelectedIndex=-1;dg.SelectedIndex=dg.Items.Count-1;}catch(异常值){}。。。两行dg.SelectedIndex=-1;dg.SelectedIndex=dg.Items.Count-1;在datagrid中进行更改,但这不会触发selectedindexchanged事件。