通过设置焦点行就可以,然后在焦点行改变事件中设置GridControl2的数据。
this.m_View.FocusedRowChanged += new 
DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(m_View_FocusedRowChanged);
this.m_View.FocusedRowHandle = 0;
            

解决方案 »

  1.   


    有点复杂,我只要页面加载,默认选中第一行就行了,因为点GridControl 1 显示数据我在click事件已经写好了
    是不是  
    this.m_View.FocusedRowHandle = 0;这一行就行了?
      

  2.   


    因为我在GridControl 1的click事件里面已经写好实现点击GridControl 1 显示GridControl 2 数据的方法了,我的意思是如何在页面加载的时候直接选中第一行,并且GridControl  2 也能显示数据的。
      

  3.   

    把 GridControl1第一行数据后台取出来,窗体加载的时候, GridControl 2 直接显示
      

  4.   

    TnT   这个问题这么奇葩么~  没人知道的哇  
      

  5.   

     private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
            {
                DataRow row = gridView1.GetDataRow(gridView1.FocusedRowHandle);
                if (row != null)
                {
                }
            }
    用rowclick事件  然后在窗体加载里面加上 一句 gridView1_RowClick(null,null);
    默认就是触发了一次 点击点一行数据
      

  6.   


    貌似这不是GridControl 里 gridview的属性   找不到你说的rowclick事件
      

  7.   


    只有FocusedViewChanged 事件啊,具体怎么写?
      

  8.   


    private void grdView_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
       {
        var row = this.grdView.GetDataRow(e.FocusedRowHandle);
       
        if (row != null)
        {
          //在 GridControl 2 显示数据
        }
       }
      

  9.   


    是GridControl 控件里的gridview 不是普通的 gridview !
      

  10.   

    在线等高手啊~~告诉我怎样加载页面,直接click第一行就好了是不是要重写click事件?
      

  11.   

    哥  
    我这绝对是用的DevExpress 的GridControl控件  这是我一个项目里面经常用到的代码
    你要在gridvie1的事件里面找
      

  12.   

    看样子你是还没弄清  Gridcontrol 里面有个 gridview 
    你添加一个Gridcontrol的时候 控件的右下方有个小框 里面可以点MainView 和 gridview1 
    点下gridview1 就可以看到属性、事件了
      

  13.   

    哦 我的VS2010 +Devexpress 11.1 里面是有的
    你的是8.2的吧 是没有
    没有的话就直接用click事件是一样的  测了 可以用
             public Form1()
            {
                InitializeComponent();
                _dt = new DataTable();
                _dt.Columns.Add("id");
                _dt.Rows.Add(123);
                gridControl1.DataSource = _dt;
                gridView1_Click(null,null);
            }        private DataTable _dt;        private void gridView1_Click(object sender, EventArgs e)
            {
                DataRow row = gridView1.GetDataRow(gridView1.FocusedRowHandle);
                if(row!=null)
                {
                    simpleButton1.Text = row[0].ToString();
                }
            }
      

  14.   


    可不可以在那一步换掉,因为我把所有的程序代码都写在gridview的click事件里了
    有没有方法把那一步换成点击第一行?   谢了~
      

  15.   

    加载页面时this.m_View.FocusedRowHandle = 0再调用一次单击事件行了啊。或者不用在单击事件里写代码,在行改变事件里FocusedRowChanged里写,his.m_View.FocusedRowHandle = 0都省了,绑定数据源就触发了的。注意判断有没有行,否则异常。单击 如果行改变了,同样实现你要的效果。
      

  16.   

    1.页面加载的时候this.m_View.FocusedRowHandle = 0设置光标定位在第一行;
    2.紧接着调用FocusedRowChanged事件,在FocusedRowChanged事件里面实现点击GridControl 1 可以在 GridControl 2 显示数据