2017-02-03 13 views
1

Я хочу показать сообщение на datagrid как «Получение данных» при заполнении данных. Есть ли шанс, чтобы это произошло?Показывать сообщение «Получение данных» при заполнении Datatable

Вот мой код, который заполняет datatable;

public void getAlertGrid() 

    { 
      odaAlert = new OracleDataAdapter(getAlert, oradb); //odaAlert is Adapter 
      odaAlert.Fill(dtAlert); // dtAlert is Datatable 
      ugAlert.DataSource = dtAlert; 
    } 
+0

Используйте '' Backgroundworker' или Thread' –

+0

@IkramTurgunbaev Привет. Как насчет задач? –

+0

Да, вы тоже можете использовать задачи –

ответ

0

Как @IkramTurgunbaev сказал, что вам нужно загружать данные асинхронно и обновлять строку состояния. В том месте, где вы называете свой метод getAlertGrid сделать что-то вроде этого:

private void MethodThatCallsGetAlertGrid() 
{ 
    // Show the progress bar and set the style of progress bar to Marquee. This will show continiously scrolling block across progress bar, as you cannot know the current progress percent 
    this.progressBar1.Visible = true; 
    this.progressBar1.Style = ProgressBarStyle.Marquee; 

    // Start loading the data source async 
    Task.Factory.StartNew(() => 
     this.getAlertGrid()) 
    .ContinueWith((antecedent) => 
    { 
     // Set data source on UI thread. Remove the same row from your getAlertGrid method 
     ugAlert.DataSource = dtAlert; 

     // Hide the progress bar 
     this.progressBar1.Visible = false; 
    }, TaskScheduler.FromCurrentSynchronizationContext());