x_g 发表于 2015-10-19 15:41:00

在MultiRow7.0中,如何高亮选中一个特定的Cell

在MultiRow7.0中,如何高亮选中一个特定的Cell,例如我设置了
multirow.CurrentCell = multirow.Rows(0).Cells(0),
虽然选中了该单元格,但是却不能讲单元格的内容高亮

Alice 发表于 2015-10-19 18:05:00

回复 1楼x_g的帖子

CurrentCell.Style.SelectionBackColor和SelectionForeColor可以设置高亮的文字和背景色。
但是从这个帖子:DefaultCellStylehttp://gcdn.gcpowertools.com.cn/showtopic-19023.html
根据这个帖子里的描述,你是在特定的逻辑结构下才出现此问题的。
因此还请将能重现该问题的demo发给我们,我们帮你看看。

x_g 发表于 2015-10-20 10:13:00

回复 2楼Alice的帖子

抱歉,由于项目比较特殊,不太方便做Demo
有几个问题请教一下:
CurrentCell.Style.SelectionBackColor和SelectionForeColor
这个是设置高亮时候的文字和背景色,但是我只是需要让他高亮即可,并不需要设置它高亮的颜色和背景

Alice 发表于 2015-10-20 11:10:00

回复 3楼x_g的帖子

默认选择后,就是会高亮显示:背景色是蓝色,文字是白色。
不太理解你出的是什么问题,所以很抱歉不能重现你的问题,如果项目保密,你可以模拟一个简单的demo,不使用项目中涉及的数据,只要能够重现问题,然后发给我们,我们帮你看看。

x_g 发表于 2015-10-20 15:09:00

回复 4楼Alice的帖子

好的,我简单模拟了一下问题,麻烦您了

x_g 发表于 2015-10-20 16:32:00

回复 4楼Alice的帖子

这本Demo中,上下键按下的时候,不能够跳出当前的cell,进行上下移动,希望您能帮忙看看是为什么

Alice 发表于 2015-10-20 17:22:00

回复 5楼x_g的帖子

谢谢你的反馈。
demo我们已经收到了,测试后给您反馈。
很抱歉给您能带来的不便。

x_g 发表于 2015-10-20 17:50:00

回复 7楼Alice的帖子

谢谢了

rbgongming 发表于 2015-10-21 10:41:00

回复 8楼x_g的帖子

你好,由于你上传的Demo我的电脑环境不能运行,
所以不能模拟你的问题,但是我写了一段高亮选中
的代码,你试一试是否满足你的需求。代码如下:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
      GcMultiRow1.EditMode = EditMode.EditOnEnter
      GcMultiRow1.BeginEdit(True)
      GcMultiRow1.CurrentCell = GcMultiRow1.Rows(0).Cells(0)
      Dim textBoxCell1 As New TextBoxCell()
      textBoxCell1.HighlightText = True
      textBoxCell1.Value = "TEST"
      Dim template1 As Template = Template.CreateGridTemplate(New GrapeCity.Win.MultiRow.Cell() {textBoxCell1})
      GcMultiRow1.Template = template1
      GcMultiRow1.RowCount = 3
    End Sub
如不能解决你的问题,欢迎你继续反馈,给您带来的
不便深感抱歉!!!

rbgongming 发表于 2015-10-21 10:51:00

回复 6楼x_g的帖子

如下代码,可以帮你解决上下键移动的问题:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      GcMultiRow1.Template = Template.CreateGridTemplate(3)
      GcMultiRow1.RowCount = 5
      GcMultiRow1.EditMode = EditMode.EditOnEnter

      GcMultiRow1.ShortcutKeyManager.Unregister(Keys.Down Or Keys.Control)
      GcMultiRow1.ShortcutKeyManager.Unregister(Keys.Up Or Keys.Control)
      GcMultiRow1.ShortcutKeyManager.Unregister(Keys.Left Or Keys.Control)
      GcMultiRow1.ShortcutKeyManager.Unregister(Keys.Right Or Keys.Control)

    End Sub

    Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As Object, ByVal e As GrapeCity.Win.MultiRow.EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing
      RemoveHandler e.Control.KeyDown, AddressOf editor_KeyDown
      AddHandler e.Control.KeyDown, AddressOf editor_KeyDown
    End Sub

    Private Sub editor_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
      If e.Control Then
            Select Case e.KeyCode
                Case Keys.Down
                  e.SuppressKeyPress = True
                  SelectionActions.MoveDown.Execute(DirectCast(sender, IEditingControl).GcMultiRow)
                Case Keys.Up
                  e.SuppressKeyPress = True
                  SelectionActions.MoveUp.Execute(DirectCast(sender, IEditingControl).GcMultiRow)
                Case Keys.Left
                  e.SuppressKeyPress = True
                  SelectionActions.MoveLeft.Execute(DirectCast(sender, IEditingControl).GcMultiRow)
                Case Keys.Right
                  e.SuppressKeyPress = True
                  SelectionActions.MoveRight.Execute(DirectCast(sender, IEditingControl).GcMultiRow)
            End Select
      End If
    End Sub
如不能解决你的问题,欢迎你继续反馈,给您带来的
不便深感抱歉!!!
页: [1] 2
查看完整版本: 在MultiRow7.0中,如何高亮选中一个特定的Cell