表格中一个列选择值后,联动带出另一个列的值(代码版)
下拉选择仓库,带出仓库的描述在另外一列
因为服务里,设置OnGetValue不生效,所以选择写代码实现。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | protected override void OnLoad(System.EventArgs e) { base .OnLoad(e); Grid_OrdersDetails.RowUpdated += new JQGridEventHandler(Grid_OrdersDetailsRowUpdated);行更新事件 } public ResponseData Grid_OrdersDetailsRowUpdated( object sender, JQGridEventArgs args) { try { string rowid = args.State.RowID; //行id string ws = Convert.ToString((Grid_OrdersDetails.GridContext as BoundContext).GetCell(rowid, "SJ_Warehouse" )); //得到变量 if ( string .IsNullOrEmpty(ws)) { return args.Response; }<br> //去数据库查 string sql = String.Format( @"select sw.Description from SJ_Warehouse sw where sw.SJ_WarehouseName='{0}'" , ws); QueryOptions _queryOptions = new QueryOptions() { QueryType = Camstar.WCF.ObjectStack.QueryType.User, ChangeCount = 0 }; RecordSet recordset; ResultStatus result; var qService = (Page as IForm).Service.GetService<QueryService>(); result = qService.ExecuteAdHoc(sql, _queryOptions, out recordset); DataTable dt = recordset.GetAsExplicitlyDataTable(); if (dt != null && dt.Rows != null && dt.Rows.Count > 0) {<br> //查询出来了,赋值 Grid_OrdersDetails.BoundContext.SetCell(rowid, "WarehouseName" , dt.Rows[0][ "Description" ].ToString()); Grid_OrdersDetails.BoundContext.LoadData(); Page.RenderToClient = true ; } } catch (Exception ex) { return args.Response; } return args.Response; } |
😘宝子:除非不再醒来,除非太阳不再升起,不然都请你好好生活,挣扎着前进,开心的笑。(●'◡'●)
分类:
Camstar
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)