如何让DataGridview控件自动滚动到指定的行或列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让DataGridview控件自动滚动到指定的行或列相关的知识,希望对你有一定的参考价值。

可以从DataGrid继承一个新的类,参考如下的代码,这样滚动条就会一直显示:
/// <summary>
/// DataGride 的摘要说明。
/// </summary>
public class DataGride:System.Windows.Forms.DataGrid

public DataGride()

//
// TODO: 在此处添加构造函数逻辑
//
this.VertScrollBar.VisibleChanged+=new EventHandler(VertScrollBar_VisibleChanged);

protected override void OnDataSourceChanged(EventArgs e)

base.OnDataSourceChanged (e);
this.VertScrollBar.Visible=true;


private void VertScrollBar_VisibleChanged(object sender, EventArgs e)

this.VertScrollBar.Visible=true;


参考技术A   刚开始时我使用的是FirstDisplayedScrollingRowIndex和FirstDisplayedScrollingColumnIndex等属性,也能实现需求,但滚动太大,效果不理想。
  后来才发现,通过设置CurrentCell属性效果最好。
  你也试试。

如何让c#winform 根据datagridview数据筛选 filter

微软自带的datagridview并没有filter功能,要么换个第三方控件,要么自己重新封装,自己实现。 参考技术A 1、筛选某个字段满足指定条件的记录
DataView dv = myDs.Tables[0].DefaultView;
dv.RowFilter = "Year=1427";
gv.DataSource = dv;
Year这个是myDs.Tables[0]的一个字段。这样就是只有Year的值等于1427的记录绑定gv控件。
2、用RowFilter对指定列进行模糊匹配
我们都知道sql语句里面有like '%x%' 这样的表达式可以对列进行模糊查询。其实DataView的RowFilter也可以的代码:
dv.RowFilter="Name like '%lanhusoft%'";
这样dv只显示Name字段包含lanhusoft的数据行。
3、多个条件筛选行
RowFilter还可以有多个条件,比如:
dv.RowFilter="Name like '%lanhusoft%' and Year=1427","and"将两个条件结合起来了,表示只返回两个条件要同时满足的
的行记录。

以上是关于如何让DataGridview控件自动滚动到指定的行或列的主要内容,如果未能解决你的问题,请参考以下文章

c# datagridview 滚动条问题

怎么让TRichEdit控件自动滚动到最后一行

如何让c#winform 根据datagridview数据筛选 filter

dataGridView 如何默认选中第一行

dataGridView 如何默认选中第一行

C#中的滚动事件