【问题标题】:How to use DevExpress DashboardDesigner.SelectedDataSource to fill the GridControl/DataGridView如何使用 DevExpress DashboardDesigner.SelectedDataSource 填充 GridControl/DataGridView
【发布时间】:2020-03-26 13:26:45
【问题描述】:

我需要在运行时在 GridControl/DataGridView 中显示数据。因此,为此我在表单上使用了 devexpress DashboardDesigner 控件并将其可见性设置为 false。在按钮单击时,我调用了 DashoardDesigner.ShowDataSourceWizard() 来运行数据连接向导。向导完成后,我需要在我的 GridControl/DataGridView 上显示查询的输出。为此我写了

private void button1_Click(object sender, EventArgs e)
{
   dashboardDesigner1.ShowDataSourceWizard();

   SqlDataSource objSqlDataSource = (DevExpress.DataAccess.Sql.SqlDataSource)dashboardDesigner1.SelectedDataSource;

   dataGridView1.DataSource = objSqlDataSource;
   dataGridView1.DataMember = objSqlDataSource.Queries[0].Name;

   objSqlDataSource.Fill();
   dataGridView1.Refresh();
}

代码构建成功,但输出未显示在网格中。

【问题讨论】:

    标签: c# devexpress devexpress-windows-ui


    【解决方案1】:

    Dashboard Designer控件创建的DashboardSqlDataSource组件只能在仪表板中使用,不能在其他控件中使用。

    要在没有仪表板的情况下引入所需的功能,请使用 SqlDataSource 组件和 SqlDataSourceUIHelper 类。 SqlDataSourceUIHelper 提供了一个 API 来调用最终用户可用的各种工具来配置应用程序中的数据连接设置。

    SqlDataSource objSqlDataSource = new SqlDataSource();
    if(SqlDataSourceUIHelper.ConfigureConnection(objSqlDataSource))
    {
        if(SqlDataSourceUIHelper.ManageQueries(objSqlDataSource))
        {
            dataGridView1.DataSource = objSqlDataSource;
            dataGridView1.DataMember = objSqlDataSource.Queries[0].Name;
            objSqlDataSource.Fill();
            dataGridView1.Refresh();
        }  
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多