首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

用过Xtragrid的大侠帮帮忙!该如何解决

2012-03-30 
用过Xtragrid的大侠帮帮忙!!定义一个下拉表格PrivateWithEventsdevGoodsAsNewDevExpress.XtraEditors.Repo

用过Xtragrid的大侠帮帮忙!!
'定义一个下拉表格
Private   WithEvents   devGoods   As   New   DevExpress.XtraEditors.Repository.RepositoryItemGridLookUpEdit
----------------------------------
Private   Sub   form_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load
        ....
        '绑定货品表dt到这个下拉表格中,dt有三列:id,code,name  
        '绑定后,devGoods有若干行
        devGoods.Datasource=dt  
        devGoods.DispalyMember= "code "
        devGoods.ValueMember= "id "
        ....
        '将devGoods下拉表格绑定到主表格的货品代号列,以便从devGoods中选择货品填入主表格GridView1中            
        GridView1.Columns( "货品代号 ").ColumnEdit=devGoods

End   Sub

        上面的代码就能轻易做到选择、输入货品的功能。但是,我怎么找也找不到devGoods的选择行的行序号!!
        比如,devGoods有10条或品记录,我用鼠标选择第三条货品,那么该货品的id、code会正确地填入主表格GridView1的当前行“货品代号”列中。但是却没办法找到该货品的name,原因是devGoods.View.FouceRowHandler始终等于0,应该等于2才对!!
        请各位大侠帮帮忙,怎样才能找到在devGoods中选择的是第几行?
谢谢!

[解决办法]
补充一点,在devGoods 的EditValueChanging事件中获取该值:
Private Sub devGoods_EditValueChanging(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.ChangingEventArgs) Handles devGoods.EditValueChanging

Dim RowView As DataRowView
RowView = devGoods.GetDataSourceRowByKeyValue(e.NewValue)
RowView( "name ")就是你想要的值

热点排行