是否可以使用 xpoDataSource 从表值函数中进行选择,而不是从表中进行选择。
注意:我使用 xpoDatasource 和 serverMode = true
是否可以使用 xpoDataSource 从表值函数中进行选择,而不是从表中进行选择。
注意:我使用 xpoDatasource 和 serverMode = true
您可以通过直接 SQL 查询来完成此任务。这是一个例子:
IDataLayer dal = XpoDefault.GetDataLayer(MSSqlConnectionProvider.GetConnectionString("(local)", "TestDatabase"), AutoCreateOption.None);
Session session = new Session(dal);
SelectedData data = session.ExecuteQueryWithMetadata("SELECT * FROM TrackingItemsModified(2)");
XPDataView view = new XPDataView();
foreach (var row in data.ResultSet[0].Rows) {
view.AddProperty((string)row.Values[0], DBColumn.GetType((DBColumnType)Enum.Parse(typeof(DBColumnType), (string)row.Values[2])));
}
view.LoadData(new SelectedData(data.ResultSet[1]));
GridControl control = new GridControl();
control.DataSource = view;
control.Dock = DockStyle.Fill;
Form form = new Form();
form.Controls.Add(control);
form.ShowDialog();
参考这些:
如何使用运行时设计的 SQL 语句结果填充 XPServerCollectionSource/InstantFeedbackCollectionSource?
如何将表值参数传递给 Session.ExecuteSProc 方法