Я изучаю язык программирования C # и создаю надстройку для приложения для расчета заработной платы для SAP business One. Я никогда раньше не использовал древовидную структуру и хотел узнать, как можно заполнять элементы дерева из базы данных. Я использую Visual Studio 2010 и Microsoft SQL Server 2008.
У меня один родитель с 2 детьми, т.е.
- Component ....Parent
Earnings ....child
Deductions ....child
Я хочу, чтобы дочерний элемент Earnings отображал все результаты из поля U_PD_description, где U_PD_type = "Earnings", т.е.
- Component ....Parent
Earnings ....child
Housing Allowance
Mobile Phone Allowance
Mileage Allowance
Deductions ....child
и аналогично для отчислений. У меня есть следующий код для загрузки формы:
private void frm_earn_deduct_setup_Load(object sender, EventArgs e)
{
// Get service instance
var earnDeductMasterService = Program.Kernel.Get<IEarnDeductMasterService>();
//Query database for all records that have earnings
var earnings = from ed in earnDeductMasterService.GetAllEarnDeductMasters()
where ed.U_PD_type.Trim().Equals("Earnings".Trim(), StringComparison.CurrentCultureIgnoreCase)
select ed;
if (earnings.Any(x => x != null))
{
//To populate subtree Earnings with U_PD_description results
//.....some code here
}
else
{
//Nothing to populate
}
//.............................................................................
//Query database for all records that have deductions
var deductions = from ed in earnDeductMasterService.GetAllEarnDeductMasters()
where ed.U_PD_type.Trim().Equals("Deductions".Trim(), StringComparison.CurrentCultureIgnoreCase)
select ed;
if (deductions.Any(x => x != null))
{
//To populate subtree Deductions with U_PD_description results
//.....some code here
}
else
{
//Nothing to populate
}
// Disable default items
txt_amt_greater_than.Enabled = false;
bindingNavigatorDeleteItem.Enabled = false;
// Call service instance
earnDeductMasterBindingSource.DataSource = Program.Kernel.Get<IEarnDeductMasterService>().GetAllEarnDeductMasters().ToList();
}
Может кто-нибудь показать мне пример того, как заполнить, скажем, поддерево доходов в treeView1?