如何防止devexpress网格控件中查找面板的自动对焦
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();
}));
}
代码到 select 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 focusing
有效。
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
gcDamageItems.BeginInvoke(new Action(() =>
{
gcDamageItems.ForceInitialize();
gvDamageItems.MoveFirst();
gvDamageItems.FocusedColumn = gvDamageItems.VisibleColumns[0];
gvDamageItems.ShowEditor();
}));
}
我的表单只有网格控件和功能区栏。我希望在加载表单时自动聚焦到网格视图的第一个单元格。
问题是:加载表单时,它会自动聚焦在网格的查找面板而不是网格单元格中。
我这样试过,但不行。帮忙,谢谢大家。
private void gcStockDelivery_Load(object sender, EventArgs e)
{
BeginInvoke(new MethodInvoker(() =>
{
gvStockDelivery.FocusedColumn = gcBarCode;
gvStockDelivery.ShowEditor();
}));
}
代码到 select 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 focusing
有效。
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
gcDamageItems.BeginInvoke(new Action(() =>
{
gcDamageItems.ForceInitialize();
gvDamageItems.MoveFirst();
gvDamageItems.FocusedColumn = gvDamageItems.VisibleColumns[0];
gvDamageItems.ShowEditor();
}));
}