vb.net - 根据数据源动态更改 Devexpress 网格布局
问题描述
尝试在 VB.Net 中构建一个管理工具,该工具将根据来自任何表的动态 sql 选择显示显示数据。第一次工作正常,第二次 DevExpress XtraGrid 上显示的列与新的 SQL 语句和结果集匹配,数据表有数据,网格属性应该数据源与数据正确但数据不显示显示期间的网格。
Try
'Initialize Datatable and Grid
dt.Reset()
GridView1.Columns.Clear()
grdAdminSQL.DataSource = Nothing
'Get the data and load into data table
myCmd = myConn.CreateCommand
myCmd.CommandText = tbAdmSQL.Text.Trim
myConn.Open()
myreader = myCmd.ExecuteReader()
dt.Load(myreader)
'Reset the Data Source on the grid
grdAdminSQL.DataSource = dt
grdAdminSQL.RefreshDataSource()
Catch ex As Exception
Finally
myConn.Close()
myConn.Dispose()
End Try
解决方案
我认为这是因为GridView1.Columns.Clear()
不足以让 DevExpress 知道它需要重新创建列。
您还需要致电
grdAdminSQL.MainView.PopulateColumns()
设置好数据源后。
如果这不起作用,请添加
grdAdminSQL.ForceInitialize()
推荐阅读
- sql - 在 SQL Server 中并行运行 For 循环
- excel - Powershell 按名称和日期过滤列表
- postgresql - Postgres_erro --> 错误:运算符不存在:双精度 [] = 数字 []
- docker - 如何将烧瓶容器与mysql容器连接起来
- python - 如何使用 SSL 将 Python 连接到 DB2 数据库?
- asp.net-core-mvc - 如何在运行时更改 AzureADOptions
- javascript - 如何使用 SvgPanZoom 平移和缩放以适应元素
- sql - 如何通过仅提供父母姓名来获取父母的子孙记录
- vba - 运行结束时自动退出 Powerpoint 幻灯片放映
- azure - 如何在 Azure API 管理中访问路由参数