MSHFlexGrid控件设置合并后的选中突出显示一行的问题
来源:互联网 发布:网卡mac地址有几位 编辑:程序博客网 时间:2024/05/18 09:16
最近开发一个程序,在C#中用到了以前VB6中的 MSHFlexGrid控件,用的原因只有一个,就是可以很简单的合并单元格,关于怎么合并,我在以前帖子中将过,详细见http://blog.csdn.net/yumanqing/archive/2006/12/22/1453633.aspx
下面把选中突出显示的代码帖出来;
窗体级别变量,主要是记录下次选中时,前一次选中的行
private int ColorRow = 0; //设置选中行的行号(设置颜色用)
//选中颜色
private void setColor(int r)
...{
ColorRow = r;
axMSHFlexGrid1.FillStyle = MSHierarchicalFlexGridLib.FillStyleSettings.flexFillRepeat;
axMSHFlexGrid1.Row = r;
axMSHFlexGrid1.RowSel = r;
axMSHFlexGrid1.Col =0;
axMSHFlexGrid1.ColSel = axMSHFlexGrid1.get_Cols() - axMSHFlexGrid1.FixedCols;
axMSHFlexGrid1.CellBackColor = Color.FromArgb(166, 202, 240);
axMSHFlexGrid1.FillStyle = MSHierarchicalFlexGridLib.FillStyleSettings.flexFillSingle;
//axMSHFlexGrid1.Col = 0;
// axMSHFlexGrid1.CellBackColor = Color.FromArgb(196, 229, 255);
axMSHFlexGrid1.RowSel = 0;
}
private void setColor(int r)
...{
ColorRow = r;
axMSHFlexGrid1.FillStyle = MSHierarchicalFlexGridLib.FillStyleSettings.flexFillRepeat;
axMSHFlexGrid1.Row = r;
axMSHFlexGrid1.RowSel = r;
axMSHFlexGrid1.Col =0;
axMSHFlexGrid1.ColSel = axMSHFlexGrid1.get_Cols() - axMSHFlexGrid1.FixedCols;
axMSHFlexGrid1.CellBackColor = Color.FromArgb(166, 202, 240);
axMSHFlexGrid1.FillStyle = MSHierarchicalFlexGridLib.FillStyleSettings.flexFillSingle;
//axMSHFlexGrid1.Col = 0;
// axMSHFlexGrid1.CellBackColor = Color.FromArgb(196, 229, 255);
axMSHFlexGrid1.RowSel = 0;
}
//清除颜色
private void clearColor(int setr)
...{
if (setr>0)
...{
int c = axMSHFlexGrid1.get_Cols();
int r = axMSHFlexGrid1.Rows;
int fc = axMSHFlexGrid1.FixedCols;
int fr = axMSHFlexGrid1.FixedRows;
axMSHFlexGrid1.FillStyle = MSHierarchicalFlexGridLib.FillStyleSettings.flexFillRepeat;
axMSHFlexGrid1.Row = setr;
axMSHFlexGrid1.Col = 0;
axMSHFlexGrid1.ColSel = c-fc;
axMSHFlexGrid1.CellBackColor = Color.White;
axMSHFlexGrid1.FillStyle = MSHierarchicalFlexGridLib.FillStyleSettings.flexFillSingle;
this.axMSHFlexGrid1.RowSel = 0;
// this.axMSHFlexGrid1.Row = 0;
}
}
private void clearColor(int setr)
...{
if (setr>0)
...{
int c = axMSHFlexGrid1.get_Cols();
int r = axMSHFlexGrid1.Rows;
int fc = axMSHFlexGrid1.FixedCols;
int fr = axMSHFlexGrid1.FixedRows;
axMSHFlexGrid1.FillStyle = MSHierarchicalFlexGridLib.FillStyleSettings.flexFillRepeat;
axMSHFlexGrid1.Row = setr;
axMSHFlexGrid1.Col = 0;
axMSHFlexGrid1.ColSel = c-fc;
axMSHFlexGrid1.CellBackColor = Color.White;
axMSHFlexGrid1.FillStyle = MSHierarchicalFlexGridLib.FillStyleSettings.flexFillSingle;
this.axMSHFlexGrid1.RowSel = 0;
// this.axMSHFlexGrid1.Row = 0;
}
}
调用就简单了
private void axMSHFlexGrid1_MouseMoveEvent(object sender, AxMSHierarchicalFlexGridLib.DMSHFlexGridEvents_MouseMoveEvent e)
...{
int rsel = axMSHFlexGrid1.RowSel;
if (rsel > axMSHFlexGrid1.FixedRows - 1)
...{
if (ColorRow != rsel)
...{
// MessageBox.Show("上次" + ColorRow.ToString() + " 选中" + rsel.ToString());
this.clearColor(ColorRow);
}
this.setColor(rsel);
}
}
...{
int rsel = axMSHFlexGrid1.RowSel;
if (rsel > axMSHFlexGrid1.FixedRows - 1)
...{
if (ColorRow != rsel)
...{
// MessageBox.Show("上次" + ColorRow.ToString() + " 选中" + rsel.ToString());
this.clearColor(ColorRow);
}
this.setColor(rsel);
}
}
注:添加引用==》COM==》Microsoft Hierarchical FlexGrid Control6.0(SP4)OLEDB
或者 Microsoft Hierarchical FlexGrid Control6.0(SP4)OLEDB
这个控件就出来了。
- MSHFlexGrid控件设置合并后的选中突出显示一行的问题
- 设置MSHFlexGrid控件的标题居中显示
- 删除选定的MSHFlexGrid控件中的一行
- UITableView 选中一行后,不显示选中颜色的方法
- 如何解决MSHFlexGrid控件不能显示的问题
- 让MSHFlexGrid只能被选中一行的另一方法
- tableview 选中一行后,不显示选中颜色的方法 tableview 选中一行后,不显示选中颜色,不要将tableview的allowsSelection设置成NO,那样的话可能导致tablev
- 设置webview突出显示的内容
- MSHFlexGrid返回选中的行
- MSHFlexGrid 控件的应用
- 突出显示当前选中的行(代码片段)
- TabLayout+Viewpager+Fragment+选中的Tab突出显示
- winform中GridView控件在选中一行后改变选中行的背景颜色
- IOS UITableView 选中一行后,不显示选中颜色的方法
- 转战IOS之: tableview 选中一行后,不显示选中颜色的方法
- easyUI的datagird刷新后选中了第一行、无法选中当前行的问题
- VB MSHFLEXGRID MSHFLEXGRID 同时选中不连续的多行
- 用MSHFLEXGRID控件显示的数据导出到EXCEL
- printf()函数的执行机理
- 一个简单的 EJB 3.0 实现
- 个人总结的ASP中常用函数
- 关于linux图形界面的基本知识
- 浮动窗口
- MSHFlexGrid控件设置合并后的选中突出显示一行的问题
- xml内容显示的4种方法
- 多疑和恐惧是通往失败的道路
- RSS收藏阅读软件最新更新
- 俺的技术blog正搭建中.......
- 使用代码使列表框自动列表
- 连续滚动代码
- 网页设计师应该掌握些网站优化知识
- Linux操作系统的权限和所有权模型