private void BtnAdd_Click(object sender, EventArgs e) { if (locked) { return; } locked = true; string search = searchInput1.Text.ToString(); FileItems[] all = NestedFileDatabase.Collection.GetLists(); for (int l = lastList; l < all.Length; l++) { FileItems List = all[l]; if (List != null) { var allItems = List.GetItems(); for (int i = 0; i < allItems.Length; i++) { var allRows = allItems[i].GetRows(); for (int r = 0; r < allRows.Length; r++) { var row = allRows[i]; if ( Compare(search.ToLower().Trim(), row.RowName.ToLower().Trim()) || Compare(search.ToLower().Trim(), row.RowValue.ToString().ToLower().Trim()) ) { locked = false; comboBox_lists.SelectedIndex = l; listBox_items.Rows[i].Selected = true; listBox_items.CurrentCell = listBox_items.Rows[i].Cells[0]; lastList = l; lastItem = i + 1; break; } } } } } locked = false; lastList = 0; lastItem = 0; }
internal void MSaveFile(string path) { FileItems[] all = lists.GetLists(); DataWriter writer = new DataWriter(); writer.Write(all.Length); for (int l = 0; l < all.Length; l++) { FileItems list = all[l]; writer.Write(list.ListId); writer.Write(list.ListName); FileItem[] items = list.GetItems(); writer.Write(items.Length); for (int i = 0; i < items.Length; i++) { FileItem item = items[i]; FileRow[] rows = item.GetRows(); writer.Write(item.ItemId); writer.Write(item.ItemName); writer.Write(rows.Length); for (int r = 0; r < rows.Length; r++) { writer.Write(rows[r].RowIndex); writer.Write(rows[r].RowName); writer.Write((byte)rows[r].RowType); switch (rows[r].RowType) { case FileRowType.Byte: writer.Write((byte)rows[r].RowValue); break; case FileRowType.Int: writer.Write((int)rows[r].RowValue); break; case FileRowType.Short: writer.Write((short)rows[r].RowValue); break; case FileRowType.Float: writer.Write((float)rows[r].RowValue); break; case FileRowType.Double: writer.Write((double)rows[r].RowValue); break; case FileRowType.Boolean: writer.Write((bool)rows[r].RowValue); break; case FileRowType.String: writer.Write((string)rows[r].RowValue); break; } } } } File.WriteAllBytes(path, writer.ToArray()); }