请高手指点

解决方案 »

  1.   

    不明白,但是你可以在绑定前注销事情,绑定后重新注册事件
                  dgv.SelectionChanged -= dgv_SelectionChanged;
                //dgv.DataSource = dataTable;
                dgv.SelectionChanged += dgv_SelectionChanged;
      

  2.   

    这是在绑定的时候C#内部执行的代码。public void set_DataSource(object value)
    {
        if (value != this.DataSource)
        {
            this.CurrentCell = null;
            if (this.dataConnection == null)
            {
                this.dataConnection = new DataGridViewDataConnection(this);
                this.dataConnection.SetDataConnection(value, this.DataMember);
            }
            else
            {
                if (this.dataConnection.ShouldChangeDataMember(value))
                {
                    this.DataMember = "";
                }
                this.dataConnection.SetDataConnection(value, this.DataMember);
                if (value == null)
                {
                    this.dataConnection = null;
                }
            }
            this.OnDataSourceChanged(EventArgs.Empty);
        }
      

  3.   

    绑定前一次 数据显示一次 选择第一行一次(第一行默认选中)可能就是这三次,因为这三个步骤都有SelectionChanged事件参与