Помогите с DataGridView Fill-ом в BackGroundWorker-е
От: Аноним  
Дата: 27.02.06 13:58
Оценка:
Проблема такая :
Присваиваю DataGridView DataSource Значение тейбла в Датасете который у меня глобальная переменная.Потом в процедуре выполняю филл.На экране появляется сетка с данными.Далее делаю туже процедуру в BackGroundWorker-е ,который вызываю из той же процедуры.

Жду пока она закончится и далее все как раньше .
Сетка пустая

код который не работает

public static void FillEmployeesList(object sender, EventArgs e)
{
Classes.Global.g_ProgressForm = new ProgressForm("Filling Employees list....");
Classes.Global.g_ProgressForm.Show();
BackgroundWorker bw = new BackgroundWorker();
bw.DoWork +=
new DoWorkEventHandler(FillEmployeesListWorker);
bw.RunWorkerCompleted +=
new RunWorkerCompletedEventHandler(
FillEmployeesListCompleted);
bw.RunWorkerAsync();
while (bw.IsBusy)
{

Application.DoEvents();
}




}


public static void FillEmployeesListCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Classes.Global.g_ProgressForm.Close();
}
public static void FillEmployeesListWorker(object sender,
DoWorkEventArgs e)
{
Classes.Global.DataObjects.PERSONALTableAdapter = new PRM.dsPersonalTableAdapters.PERSONALTableAdapter();
Classes.Global.DataObjects.PERSONALTableAdapter.Connection = Classes.Global.DataObjects.Connection;

switch (Global.CurrentProduct.CurrentTask.Name)
{
case "Employees":
Classes.Global.DataObjects.PERSONALTableAdapter.Fill(
Classes.Global.DataObjects.DsPersonal.PERSONAL, (byte)Global.Options.MobFilter, Global.Options.BeginDate,
Global.Options.EndDate, Global.Options.BadgeStatusCharString, Global.Options.ProjectsFilter ? Global.Options.ProjectsString : null,
Global.Options.LocationsFilter ? Global.Options.LocationsString : null,
Global.Options.ShowPhotos, Global.Options.ShowSalaries);
break;
case "Visas":
Classes.Global.DataObjects.PERSONALTableAdapter.Fill(
Classes.Global.DataObjects.DsPersonal.PERSONAL, (byte)Global.Options.MobFilter, Global.Options.BeginDate,
Global.Options.EndDate, "E,I,V", Global.Options.ProjectsFilter ? Global.Options.ProjectsString : null,
Global.Options.LocationsFilter ? Global.Options.LocationsString : null,
Global.Options.ShowPhotos, Global.Options.ShowSalaries);
break;
}


e.Result = true;
}

код который работает


public static void FillEmployeesList(object sender, EventArgs e)
{
Classes.Global.DataObjects.PERSONALTableAdapter = new PRM.dsPersonalTableAdapters.PERSONALTableAdapter();
Classes.Global.DataObjects.PERSONALTableAdapter.Connection = Classes.Global.DataObjects.Connection;

switch (Global.CurrentProduct.CurrentTask.Name)
{
case "Employees":
Classes.Global.DataObjects.PERSONALTableAdapter.Fill(
Classes.Global.DataObjects.DsPersonal.PERSONAL, (byte)Global.Options.MobFilter, Global.Options.BeginDate,
Global.Options.EndDate, Global.Options.BadgeStatusCharString, Global.Options.ProjectsFilter ? Global.Options.ProjectsString : null,
Global.Options.LocationsFilter ? Global.Options.LocationsString : null,
Global.Options.ShowPhotos, Global.Options.ShowSalaries);
break;
case "Visas":
Classes.Global.DataObjects.PERSONALTableAdapter.Fill(
Classes.Global.DataObjects.DsPersonal.PERSONAL, (byte)Global.Options.MobFilter, Global.Options.BeginDate,
Global.Options.EndDate, "E,I,V", Global.Options.ProjectsFilter ? Global.Options.ProjectsString : null,
Global.Options.LocationsFilter ? Global.Options.LocationsString : null,
Global.Options.ShowPhotos, Global.Options.ShowSalaries);
break;
}
}




данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.