winform中的滚动条位置

jsh1313 2007-06-11 10:34:21
偶有一个DataGrid控件,一个文本框,一个按钮。想单击按钮时定位到列表里面,当前文本框中ID的行。下面是我的代码:
InitGridStyle();//重新绑定(因为需要改变数据)
dataGrid1.Select(index);
dataGrid1.CurrentRowIndex = index;
但当列表控件中数据太多,出现滚动条的时候,滚动条就定位到顶端了。
郁闷中,有没有哪位高手做过的,帮帮忙啊!项目急啊!
...全文
635 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
沉默的糕点 2007-06-12
  • 打赏
  • 举报
回复
必须继承DataGrid才行
public class DataGridEx:DataGrid
{
public DataGridEx()
{}

public void ScrollToRow(int row)
{
this.GridVScrolled(this, new ScrollEventArgs(ScrollEventType.LargeIncrement, row));
}

}
jsh1313 2007-06-11
  • 打赏
  • 举报
回复
下面是我的InitGridStyle()方法,里面主要是根据数据的更改修改颜色。
private void InitGridStyle()
{
dataGrid1.TableStyles.Clear();
DataGridTableStyle ts1 = new DataGridTableStyle();
ts1.AllowSorting = false;
ts1.MappingName = m_mobileDataTable.TableName;
ts1.AlternatingBackColor = Color.LightGray;
foreach (DataColumn eachCol in m_mobileDataTable.Columns)
{
DataGridColoredTextBoxColumn TextCol1 = new DataGridColoredTextBoxColumn();
TextCol1.MappingName = eachCol.ColumnName;
TextCol1.HeaderText = eachCol.ColumnName;
TextCol1.Width = dataGrid1.Width/5;
//设置变色行的条件以及前景和背景色
DataGridColoredTextBoxColumnObject oo = new DataGridColoredTextBoxColumnObject();
oo.ChangedRows = m_mobileDataTable.Select("扫描状态='信息正确'");
oo.BackBrush = new SolidBrush(Color.White);
oo.ForeBrush = new SolidBrush(Color.Green);

DataGridColoredTextBoxColumnObject oo1 = new DataGridColoredTextBoxColumnObject();
oo1.ChangedRows = m_mobileDataTable.Select("扫描状态='新增设备'");
oo1.BackBrush = new SolidBrush(Color.White);
oo1.ForeBrush = new SolidBrush(Color.Red);

DataGridColoredTextBoxColumnObject oo2 = new DataGridColoredTextBoxColumnObject();
oo2.ChangedRows = m_mobileDataTable.Select("扫描状态='已经改变'");
oo2.BackBrush = new SolidBrush(Color.White);
oo2.ForeBrush = new SolidBrush(Color.Blue);

TextCol1.SetRowsColor(new DataGridColoredTextBoxColumnObject[] {oo, oo1,oo2});
ts1.GridColumnStyles.Add(TextCol1);
}
dataGrid1.TableStyles.Add(ts1);
dataGrid1.SetDataBinding(m_mobileDataTable, "");
dataGrid1.Update();
}
jsh1313 2007-06-11
  • 打赏
  • 举报
回复
不用分页
ojekleen 2007-06-11
  • 打赏
  • 举报
回复
这个应该不难吧。关键是要考虑你的DataGrid还有可能有分页情况。
jsh1313 2007-06-11
  • 打赏
  • 举报
回复
为什么没人理的?

62,050

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧