首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据其他列(V.Bdev express)更改另一列中的值?

如何根据其他列(V.Bdev express)更改另一列中的值?
EN

Stack Overflow用户
提问于 2017-05-28 15:36:14
回答 1查看 634关注 0票数 0

我使用来自devExpress的网格来显示数据库中的一些数据,我还实现了RepositoryItemLookUp,因为我需要将列中的一些值看作下拉列表,下面是代码:

代码语言:javascript
复制
`Dim riLookup As New RepositoryItemLookUpEdit()

riLookup.NullText = String.Empty

DataTableDobTableAdapter.FillDob(Me.DsOrders.DataTableDob)

riLookup.DataSource = Me.DsOrders.DataTableDob

riLookup.ValueMember = "ID"
riLookup.DisplayMember = "TITLE"
riLookup.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup

GridView1.Columns("Code").ColumnEdit = riLookup`

下面是我所说的这张照片:

我想知道如何处理这个repositoryitemlookupedit,所以如果选择了什么,我可能会将另一列的值从N更改为D,就像我在图像中突出显示的那样。

也许我可以在我的appereance>格式条件部分写条件。

如果从这个存储库中选择了某项内容,那么无论我需要更改另一列值,我都会为此而挣扎,因为我以前从未使用过v.b,也没有使用过devexpress。

谢谢各位干杯!

在亚历克斯的帮助下

我在那里放置了一个断点,以检查什么是e.NewValue,我看到它是数据库中的实际ID,因为我选择了ID为1000097的MCI,当中断时,我捕捉到该Id,但末尾有“D”后缀。为什么会这样呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-28 19:37:25

您可以处理RepositoryItemLookupEdit.EditValueChanging事件。

只需在现有代码中添加一个事件处理程序:

代码语言:javascript
复制
    Dim riLookup As New RepositoryItemLookUpEdit()

    riLookup.NullText = String.Empty

    DataTableDobTableAdapter.FillDob(Me.DsOrders.DataTableDob)

    riLookup.DataSource = Me.DsOrders.DataTableDob

    riLookup.ValueMember = "ID"
    riLookup.DisplayMember = "TITLE"
    riLookup.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup

    GridView1.Columns("Code").ColumnEdit = riLookup
   'Add this line:
    AddHandler riLookup.EditValueChanging, AddressOf repItem_EditValueChanging

现在,只需处理事件并执行设置"N/D“列的逻辑:

代码语言:javascript
复制
   Private Sub repItem_EditValueChanging(sender As Object, e As ChangingEventArgs)
        If e.NewValue > -1 Then 'any ID given => "N"
            GridView1.SetRowCellValue(GridView1.FocusedRowHandle, GridView1.Columns(6), "D")
        Else
            GridView1.SetRowCellValue(GridView1.FocusedRowHandle, GridView1.Columns(6), "N")
        End If
    End Sub

(我从你的截图中推断出第6栏)。

P.S.:我在代码中找不到的一件事是将它添加到GridView RepositoryItems集合中,这是使存储库项正常工作所必需的:

GridControl1.RepositoryItems.Add(riLookup)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44229069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档