找回密码
 立即注册

QQ登录

只需一步,快速开始

jplzj
论坛元老   /  发表于:2012-6-19 21:24  /   查看:5503  /  回复:9
在如下图的空白处单击选中行?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

9 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-6-20 11:46:00
沙发
回复 1楼jplzj的帖子

实现方法可以参考下面的代码:
  1.     private void Form1_Load(object sender, EventArgs e)
  2.     {
  3.         gcMultiRow1.Template = new Template1();
  4.         gcMultiRow1.MouseClick += new MouseEventHandler(gcMultiRow1_MouseClick);
  5.     }

  6.     void gcMultiRow1_MouseClick(object sender, MouseEventArgs e)
  7.     {
  8.         int row = e.Y / gcMultiRow1.Template.Row.Height;
  9.         row = row >= gcMultiRow1.Rows.Count ? gcMultiRow1.Rows.Count-1 : row;

  10.         gcMultiRow1.ClearSelection();
  11.         gcMultiRow1.AddSelection(row);
  12.             
  13.     }
复制代码
回复 使用道具 举报
jplzj
论坛元老   /  发表于:2012-6-20 13:04:00
板凳
版主我使用的是VB,C#看起来有点吃力,能否给个VB示例?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-6-20 13:57:00
地板
VB.NET代码:

  1.     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

  2.         Dim template As New Template1
  3.         GcMultiRow1.Template = template

  4.     End Sub

  5.     Private Sub GcMultiRow1_MouseClick(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles GcMultiRow1.MouseClick

  6.         Dim row As Integer = (e.Y - GcMultiRow1.Template.ColumnHeaders(0).Height) \ GcMultiRow1.Template.Row.Height
  7.         If row >= GcMultiRow1.RowCount Then
  8.             row = GcMultiRow1.RowCount - 1
  9.         End If

  10.         GcMultiRow1.ClearSelection()
  11.         GcMultiRow1.AddSelection(row)
  12.     End Sub
复制代码
回复 使用道具 举报
jplzj
论坛元老   /  发表于:2012-6-20 14:37:00
5#
谢谢
回复 使用道具 举报
jplzj
论坛元老   /  发表于:2012-6-20 17:02:00
6#
选中后能不能变颜色,选中其它行时恢复为白色,被选中行又变色。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-6-20 17:47:00
7#
Demo中的程序,选中一行后,该行所有单元格就会改变颜色,当选中另外行时,之前行的颜色就会变为白色

不知这样的行为和你提到的是否一致。
回复 使用道具 举报
jplzj
论坛元老   /  发表于:2012-6-21 11:37:00
8#
是在如图所示的空白地方变颜色。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-6-21 12:07:00
9#
是这样的效果吗:


这个效果你可以在Row中添加一个LabelCell,其Size就是Row的大小,然后通过VS工具栏中的“Send to Back”将其设置在最先面显示


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
jplzj
论坛元老   /  发表于:2012-6-21 16:25:00
10#
好的,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部