private void btnSearch_Click(object sender, EventArgs e) { String query = ""; String filter = ""; List <String> sqlParameters = new List <String>(); List <String> sqlValues = new List <String>(); int parameterId = 0; foreach (SearchCriteria searchCriteria in searchSearchCriteriaLst.Items) { if (filter.Length != 0) { filter += " AND "; } filter += searchCriteria.getQuery() + parameterId.ToString(); sqlParameters.Add(searchCriteria.sqlParameter + parameterId.ToString()); sqlValues.Add(searchCriteria.sqlValue); parameterId++; } if (filter.Length != 0) { searchResultList.Items.Clear(); query = "SELECT " + ColumnData.GetName(Net7.Table_item_base._id) + "," + ColumnData.GetName(Net7.Table_item_base._name) + "," + ColumnData.GetName(Net7.Table_item_base._category) + "," + ColumnData.GetName(Net7.Table_item_base._sub_category) + "," + ColumnData.GetName(Net7.Table_item_base._level) + "," + ColumnData.GetName(Net7.Table_item_base._status) + " FROM " + Net7.Tables.item_base; if (m_table.Equals(Net7.Tables.item_base)) { query += DB.WHERE; } else { query += "," + m_table + DB.WHERE + ColumnData.GetName(Net7.Table_item_base._id) + DB.EQUALS + m_primaryId + " AND "; } query += filter; DataTable dataTable = DB.Instance.executeQuery(query, sqlParameters.ToArray(), sqlValues.ToArray()); searchResultCount.Text = dataTable.Rows.Count.ToString() + " items"; ListViewItem listViewItem; Int32 code; Items.ItemCategory categoryValue; String category; Items.ItemSubCategory subCategoryValue; String subCategory; foreach (DataRow dataRow in dataTable.Rows) { code = ColumnData.GetInt32(dataRow, Net7.Table_item_base._category); categoryValue = (Items.ItemCategory)code; category = Items.CategoryLookup(categoryValue); code = ColumnData.GetInt32(dataRow, Net7.Table_item_base._sub_category); subCategoryValue = (Items.ItemSubCategory)code; subCategory = Items.SubCategoryLookup(subCategoryValue); listViewItem = new ListViewItem(new String[] { ColumnData.GetString(dataRow, Net7.Table_item_base._id), ColumnData.GetString(dataRow, Net7.Table_item_base._name), category, subCategory, ColumnData.GetString(dataRow, Net7.Table_item_base._level), ColumnData.GetString(dataRow, Net7.Table_item_base._status) }); searchResultList.Items.Add(listViewItem); } } }
public void configure(Net7.Tables table) { if (!m_table.Equals(table)) { // Clear the previous search results guiSearchCriteriaTbl.Items.Clear(); guiResultTbl.Items.Clear(); guiResultLbl.Text = ""; } m_table = table; ColumnData.ColumnDataInfo[] fields = null; switch (m_table) { case Net7.Tables.effects: m_columns = new Enum[] { Net7.Table_effects._effect_id, Net7.Table_effects._description, Net7.Table_effects._base_asset_id }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_effects>(true); break; case Net7.Tables.factions: m_columns = new Enum[] { Net7.Table_factions._faction_id, Net7.Table_factions._name }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_factions>(true); break; case Net7.Tables.item_base: m_columns = new Enum[] { Net7.Table_item_base._id, Net7.Table_item_base._name, Net7.Table_item_base._category, Net7.Table_item_base._sub_category, Net7.Table_item_base._level, Net7.Table_item_base._status }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_item_base>(true); break; case Net7.Tables.missions: m_columns = new Enum[] { Net7.Table_missions._mission_id, Net7.Table_missions._mission_name, Net7.Table_missions._mission_type, Net7.Table_missions._mission_key }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_missions>(true); break; case Net7.Tables.mob_base: m_columns = new Enum[] { Net7.Table_mob_base._mob_id, Net7.Table_mob_base._name }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_mob_base>(true); break; case Net7.Tables.starbase_npcs: m_columns = new Enum[] { Net7.Table_starbase_npcs._npc_Id, Net7.Table_starbase_npcs._first_name, Net7.Table_starbase_npcs._last_name }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_starbase_npcs>(true); break; case Net7.Tables.sectors: m_columns = new Enum[] { Net7.Table_sectors._sector_id, Net7.Table_sectors._name }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_sectors>(true); break; case Net7.Tables.sector_objects: m_columns = new Enum[] { Net7.Table_sector_objects._sector_object_id, Net7.Table_sector_objects._name, Net7.Table_sector_objects._base_asset_id, Net7.Table_sector_objects._sector_id }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_sector_objects>(true); break; case Net7.Tables.skills: m_columns = new Enum[] { Net7.Table_skills._skill_id, Net7.Table_skills._name }; fields = CommonTools.Enumeration.ToColumnDataInfo <Net7.Table_skills>(true); break; default: throw (new Exception("DlgSearch.configure() does not handle the table " + table.ToString())); } guiResultTbl.Columns.Clear(); m_adjustedColumnWidths = false; ColumnHeader columnHeader; for (int columnIndex = 0; columnIndex < m_columns.Length; columnIndex++) { columnHeader = new ColumnHeader(); columnHeader.DisplayIndex = columnIndex; columnHeader.Text = ColumnData.GetName(m_columns[columnIndex]); columnHeader.Width = -2; guiResultTbl.Columns.Add(columnHeader); } m_dlgSearchCriteria = new DlgSearchCriteria(); m_dlgSearchCriteria.configure(fields); }