private void listView1_SelectedIndexChanged(object sender, System.EventArgs e) { if (listView1.SelectedItems.Count == 1) { int selectedIndex = listView1.SelectedItems[0].Index; ListViewItem selected = listView1.Items[selectedIndex]; TABLEntry selectedEntry = (TABLEntry)selected.Tag; SelectDictionary(selectedEntry.ChildBlock); } }
/// <summary> /// Open the specified <see cref="FXTFile"/>, parse data from it and pass the /// parsed data to the <see cref="DataGridView"/> /// </summary> /// <summary xml:lang="ru"> /// Открыть указанный файл <see cref="FXTFile"/>, получить данные из него и /// показать полученные данные в <see cref="DataGridView"/> /// </summary> /// <param name="file">File to be opened</param> /// <param name="file" xml:lang="ru">Файл который необходимо открыть</param> public void OpenFile(GXTFile file) { file.ParseData(); CurrentFile = file; /*foreach (GXTFileBlockEntry item in CurrentFile.Blocks[0].Entries) * { * ListViewItem listItem = new ListViewItem(item.Name); * listItem.Tag = item; * listView1.Items.Add(listItem); * } * * dataGridView1.ColumnCount = 2; * * ListViewItem selected = listView1.Items[0]; * * SelectDictionary((GXTFileBlockEntry)selected.Tag);*/ /*for (int i = 0; i < CurrentFile.Blocks[1].Entries.Count; i++) * { * dataGridView1.Rows.Add(CurrentFile.Blocks[1].Entries[i].Name, null); * }*/ dataGridView1.ColumnCount = 2; switch (CurrentFile.FileVersion) { case GXTFileVersion.III: SelectDictionary((TKEYBlock)CurrentFile.MainBlock); break; case GXTFileVersion.VC: case GXTFileVersion.SA: foreach (TABLEntry entry in ((TABLBlock)CurrentFile.MainBlock).Entries) { ListViewItem listItem = new ListViewItem(entry.Name); listItem.Tag = entry; listView1.Items.Add(listItem); } ListViewItem selected = listView1.Items[0]; TABLEntry selectedEntry = (TABLEntry)selected.Tag; SelectDictionary(selectedEntry.ChildBlock); break; default: break; } }