我有一个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;
}
}
发布于 2013-04-03 16:58:37
如果我没理解错的话,你需要这样的东西:
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
似乎可以做到这一点。
https://stackoverflow.com/questions/15782671
复制相似问题