Ima li ko lakse resenje za sledeci kod:
this->treeView->BeginUpdate();
this->treeView->Nodes->Add(gcnew TreeNode("Ime firme"));
this->treeView->Nodes[0]->ImageIndex = 4;
this->treeView->Nodes[0]->SelectedImageIndex = 4;
this->treeView->Nodes[0]->Nodes->Add(gcnew TreeNode("Radnici"));
this->treeView->Nodes[0]->Nodes[0]->ImageIndex = 0;
this->treeView->Nodes[0]->Nodes[0]->SelectedImageIndex = 0;
ArrayList^ arr = gcnew ArrayList;
arr->Add("stanje");
arr->Add("u/i");
arr->Add("vrijeme");
IEnumerator^ mEnum = arr->GetEnumerator();
while (mEnum->MoveNext())
{
String^ tree = safe_cast<String^>(mEnum->Current);
this->treeView->Nodes[0]->Nodes[0]->Nodes->Add(gcnew TreeNode(tree));
this->treeView->Nodes[0]->Nodes[0]->Nodes[arr->IndexOf(mEnum->Current)]->ImageIndex = 1;
this->treeView->Nodes[0]->Nodes[0]->Nodes[arr->IndexOf(mEnum->Current)]->SelectedImageIndex = 1;
}
this->treeView->Nodes[0]->Nodes->Add(gcnew TreeNode("Gosti"));
this->treeView->Nodes[0]->Nodes[1]->ImageIndex = 2;
this->treeView->Nodes[0]->Nodes[1]->SelectedImageIndex = 2;
arr->Clear();
arr->Add("stanje");
arr->Add("evidencija");
mEnum = arr->GetEnumerator();
while (mEnum->MoveNext())
{
String^ tree = safe_cast<String^>(mEnum->Current);
this->treeView->Nodes[0]->Nodes[1]->Nodes->Add(gcnew TreeNode(tree));
this->treeView->Nodes[0]->Nodes[1]->Nodes[arr->IndexOf(mEnum->Current)]->ImageIndex = 1;
this->treeView->Nodes[0]->Nodes[1]->Nodes[arr->IndexOf(mEnum->Current)]->SelectedImageIndex = 1;
}
arr->Clear();
this->treeView->Nodes[0]->Nodes->Add(gcnew TreeNode("Organizacija"));
this->treeView->Nodes[0]->Nodes[2]->ImageIndex = 3;
this->treeView->Nodes[0]->Nodes[2]->SelectedImageIndex = 3;
String^ command = "select * from sektor";
SqlConnection^ connection = gcnew SqlConnection(connectionString);
//dataAdapter = gcnew SqlDataAdapter();
dataAdapter->SelectCommand = gcnew SqlCommand(command,connection);
dataAdapter->Fill(m_ds->Tables["sektor"]);
command = "select * from sekcija";
dataAdapter->SelectCommand = gcnew SqlCommand(command,connection);
dataAdapter->Fill(m_ds->Tables["sekcija"]);
command = "select * from radnajedinica";
dataAdapter->SelectCommand = gcnew SqlCommand(command,connection);
dataAdapter->Fill(m_ds->Tables["radnajedinica"]);
array<DataRow^>^ x_row = m_ds->Tables["sektor"]->Select();
int i;
for (i=0;i<x_row->Length;i++)
{
String^ tree = safe_cast<String^>(x_row[i]["opis"]);
this->treeView->Nodes[0]->Nodes[2]->Nodes->Add(gcnew TreeNode(tree));
this->treeView->Nodes[0]->Nodes[2]->Nodes[i]->ImageIndex = 3;
this->treeView->Nodes[0]->Nodes[2]->Nodes[i]->SelectedImageIndex = 3;
array<DataRow^>^ y_row = m_ds->Tables["sekcija"]->Select("sektor = '" +
x_row[i]["sifra"] +"'");
int j;
for (j=0;j<y_row->Length;j++)
{
String^ tree = safe_cast<String^>(y_row[j]["opis"]);
this->treeView->Nodes[0]->Nodes[2]->Nodes[i]->Nodes->Add(gcnew TreeNode(tree));
this->treeView->Nodes[0]->Nodes[2]->Nodes[i]->Nodes[j]->ImageIndex = 3;
this->treeView->Nodes[0]->Nodes[2]->Nodes[i]->Nodes[j]->SelectedImageIndex = 3;
array<DataRow^>^ z_row = m_ds->Tables["radnajedinica"]->Select("sekcija = '" +
y_row[j]["sifra"] +"'");
int k;
for (k=0;k<z_row->Length;k++)
{
String^ tree = safe_cast<String^>(z_row[k]["sifra"]);
this->treeView->Nodes[0]->Nodes[2]->Nodes[i]->Nodes[j]->Nodes->Add(gcnew TreeNode(tree));
this->treeView->Nodes[0]->Nodes[2]->Nodes[i]->Nodes[j]->Nodes[k]->ImageIndex = 1;
this->treeView->Nodes[0]->Nodes[2]->Nodes[i]->Nodes[j]->Nodes[k]->SelectedImageIndex = 1;
}
delete []z_row;
}
delete []y_row;
}
delete []x_row;
m_ds->Tables["radnajedinica"];
m_ds->Tables["sektor"];
m_ds->Tables["sekcija"];
this->treeView->EndUpdate();
this->treeView->Nodes[0]->Expand();
this->treeView->Nodes[0]->Nodes[0]->Expand();