gpt4 book ai didi

c# winforms - DataGridView 重新加载后保存位置

转载 作者:可可西里 更新时间:2023-11-01 03:03:46 24 4
gpt4 key购买 nike

这是我的代码:

private void getData(string selectCommand) 
{
string connectionString = @ "Server=localhost;User=SYSDBA;Password=masterkey;Database=C:\data\test.fdb";

dataAdapter = new FbDataAdapter(selectCommand,
connectionString);

DataTable data = new DataTable();
dataAdapter.Fill(data);
bindingSource.DataSource = data;
}

private void button1_Click(object sender, EventArgs e)
{
getData(dataAdapter.SelectCommand.CommandText);
}

private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = bindingSource;
getData("SELECT * FROM cities");
}

在 button1 单击事件上重新加载数据后,单元格选择跳到第一列,滚动条被重置。如何保存DataGridView的位置?

最佳答案

这是我想出的解决方案。不需要选择行并在刷新后将滚动条放回同一区域,前提是行数变化不大。

int saveRow = 0;
if (dataGridView1.Rows.Count > 0 && dataGridView1.FirstDisplayedCell != null)
saveRow = dataGridView1.FirstDisplayedCell.RowIndex;

dataGridView1.DataSource = dataTable1;

if (saveRow != 0 && saveRow < dataGridView1.Rows.Count)
dataGridView1.FirstDisplayedScrollingRowIndex = saveRow;

关于c# winforms - DataGridView 重新加载后保存位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2442419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com