首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示加载WPF DataGrid而不是.IsIndeterminate的实际进度

显示加载WPF DataGrid而不是.IsIndeterminate的实际进度
EN

Stack Overflow用户
提问于 2020-02-18 20:53:19
回答 1查看 30关注 0票数 0

我已经设法将ProgressBar放入我的WPF表单中。然而,我目前的技能停留在使用:

代码语言:javascript
复制
ProgressBar.IsIndeterminate = true;

DataGrid1.ItemsSource = await GetDataAsync();

ProgressBar.IsIndeterminate = false;

有没有专业人士准备好描述如何让ProgressBar显示实际的加载进度?

下面是我的完整代码:

代码语言:javascript
复制
    private async void Button_Click_1(object sender, RoutedEventArgs e)
    {
        try
        {
            ProgressBar.IsIndeterminate = true;

            DataGrid1.ItemsSource = await GetDataAsync();

            ProgressBar.IsIndeterminate = false;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

    private Task<DataView> GetDataAsync()
    {
        return Task.Run(() =>
        {

            string connectionStringDE = "Driver={Pervasive ODBC Client Interface};ServerName=DE875;dbq=@DEDBFS;Uid=DEUsername;Pwd=DEPassword;";
            string queryStringDE = "select NRO,NAME,NAMEA,NAMEB,ADDRESS,POSTA,POSTN,POSTADR,COMPANYN,COUNTRY,ID,ACTIVE from COMPANY";
            string connectionStringFR = "Driver={Pervasive ODBC Client Interface};ServerName=FR875;dbq=@FRDBFS;Uid=FRUsername;Pwd=FRPassword;";
            string queryStringFR = "select NRO,NAME,NAMEA,NAMEB,ADDRESS,POSTA,POSTN,POSTADR,COMPANYN,COUNTRY,ID,ACTIVE from COMPANY";

            DataTable dataTable = new DataTable("COMPANY");
            // using-statement will cleanly close and dispose unmanaged resources i.e. IDisposable instances
            using (OdbcConnection dbConnectionDE = new OdbcConnection(connectionStringDE))
            {
                dbConnectionDE.Open();
                OdbcDataAdapter dadapterDE = new OdbcDataAdapter();
                dadapterDE.SelectCommand = new OdbcCommand(queryStringDE, dbConnectionDE);

                dadapterDE.Fill(dataTable);

            }
            using (OdbcConnection dbConnectionFR = new OdbcConnection(connectionStringFR))
            {
                dbConnectionFR.Open();
                OdbcDataAdapter dadapterFR = new OdbcDataAdapter();
                dadapterFR.SelectCommand = new OdbcCommand(queryStringFR, dbConnectionFR);

                var newTable = new DataTable("COMPANY");
                dadapterFR.Fill(newTable);

                dataTable.Merge(newTable);

            }

            return dataTable.DefaultView;
        });
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-18 20:59:29

除非您知道实际进程,否则无法显示实际进程,除非您正在使用的API实际向您报告当前进度。

OdbcCommand应用编程接口没有,所以您应该坚持使用不确定的进度条。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60281358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档