[英]How to prevent auto focus of find panel in devexpress grid control
我的表单只有网格控件和功能区栏。 我想在窗体加载时自动聚焦到网格视图的第一个单元格。
问题是:加载表单时,它将自动聚焦在网格的查找面板中,而不是网格单元中。
我尝试这样,但没有用。 帮助,谢谢大家。
private void gcStockDelivery_Load(object sender, EventArgs e)
{
BeginInvoke(new MethodInvoker(() =>
{
gvStockDelivery.FocusedColumn = gcBarCode;
gvStockDelivery.ShowEditor();
}));
}
在FormLoad()之后选择其他控件的代码
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
txtPurchaseOrder.BeginInvoke(new Action(() =>
{
txtPurchaseOrder.Select();
}));
}
当“查找面板”在“表单加载”上可见时,它始终处于焦点状态,因此您必须手动更改焦点。 您已向我们显示了代码,以便更改另一个控件。 如果选择网格本身作为控件,然后自定义刚刚选择的GotFocus事件,该怎么办? 您可以尝试此代码
这是您的第一个习惯:
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
yourGridControl.BeginInvoke(new Action(() =>
{
yourGridControl.Select();
}));
}
这是您的第二个习惯:
private void yourGridControl_GotFocus(Object sender, EventArgs e) {
GridView gridView1 = Me.ViewCollection.Item(0)
gridView1.FocusedColumn = gridView1.VisibleColumns(0)
gridView1.FocusedRowHandle = 0
}
抱歉回复晚了。 我对XtraGrid AutoFilterRow聚焦感到很高兴
有用。
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
gcDamageItems.BeginInvoke(new Action(() =>
{
gcDamageItems.ForceInitialize();
gvDamageItems.MoveFirst();
gvDamageItems.FocusedColumn = gvDamageItems.VisibleColumns[0];
gvDamageItems.ShowEditor();
}));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.