如何让Devexpress XtraGrid控件选中行

时间:2013-04-03 08:46:24

标签: devexpress xtragrid

我有一个devexpress XtraGrid控件。但是,当winform加载时,我无法获得默认选定行的ID。我知道如何在用户点击网格时获取它。

以下是代码快照:

    private void Form1_Load(object sender, EventArgs e)
    {
     grid1.DataSource = bindData(DataClassesDataContext.Table1.ToList());

     ID = Convert.ToInt32(gridView.GetRowCellValue(gridView.FocusedRowHandle, "ID"));
     XtraMessageBox.Show(ID.ToString());
    }


    public BindingSource bindData(object obj)
    {
        BindingSource ctBinding;
        try
        {
            ctBinding = new BindingSource();

            ctBinding.DataSource = obj;

            return ctBinding;
        }
        catch (Exception ex)
        {
            XtraMessageBox.Show(ex.Message, "Database Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            return null;
        }
    }            

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你需要这样的东西:

  private void Form1_Shown(object sender, EventArgs e)
  {
     grid1.DataSource = bindData(DataClassesDataContext.Table1.ToList());

     var item = gridView.GetFocusedRow() as YourDataType
     if(item != null)
     {
       ID = item.ID;
       XtraMessageBox.Show(ID.ToString());
     }
  } 

假设您的bindData返回某种类型的集合。

**更新**

将代码移至form_Shown似乎可以解决问题。