/*============================================================== * 根据条件查找数据 *==============================================================*/ internal void do_search() { DATA.m_s_lock.EnterReadLock(); if (DATA.m_s_all_subs.Count == 0) { DATA.m_s_lock.ExitReadLock(); if (!m_UpdateDatabase.m_is_updating_database) { if (MessageBox.Show(LANGUAGES.txt(26), // 本地没有任何数据,是否要下载最新的字幕索引? $"{COMMON.m_k_PROGRAM_NAME} {COMMON.m_k_VERSION}", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { FORMS.active_form(m_UpdateDatabase); m_UpdateDatabase.radioButton_UseRemoteData.Checked = true; m_UpdateDatabase.PictureBox_Start_Click(null, null); } } return; } if (textBox_Filter.TextLength == 0) { m_DataGridView_event_enable = false; dataGridView_Main.DataSource = DATA.m_s_dt; update_columns_style(); m_DataGridView_event_enable = true; } else { string filter_string; if (radioButton_SearchByName.Checked) { StringBuilder sb = new StringBuilder(); string fix_Name_chs = SQL.fix_string(ChineseConverter.Convert(textBox_Filter.Text, ChineseConversionDirection.TraditionalToSimplified)); string fix_Name_cht = SQL.fix_string(ChineseConverter.Convert(textBox_Filter.Text, ChineseConversionDirection.SimplifiedToTraditional)); sb.Append($"[name_chs] like '%{fix_Name_chs}%' or [name_chs] like '%{fix_Name_cht}%' or "); sb.Append($"[name_cht] like '%{fix_Name_chs}%' or [name_cht] like '%{fix_Name_cht}%' or "); sb.Append($"[name_jp] like '%{fix_Name_chs}%' or [name_jp] like '%{fix_Name_cht}%' or "); sb.Append($"[name_en] like '%{fix_Name_chs}%' or "); sb.Append($"[name_rome] like '%{fix_Name_chs}%'"); filter_string = sb.ToString(); } else { filter_string = textBox_Filter.Text; } try { DataRow[] dr_list = DATA.m_s_dt.Select(filter_string); DATA.m_s_dt_search.Rows.Clear(); foreach (DataRow dr in dr_list) { DataRow dr_tmp = DATA.m_s_dt_search.NewRow(); for (int i = 0; i < DATA.m_s_dt_search.Columns.Count; ++i) { dr_tmp[i] = dr[i]; } DATA.m_s_dt_search.Rows.Add(dr_tmp); } m_DataGridView_event_enable = false; dataGridView_Main.DataSource = DATA.m_s_dt_search; update_columns_style(); m_DataGridView_event_enable = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } } DATA.m_s_lock.ExitReadLock(); update_status(); }
/*============================================================== * 设置 *==============================================================*/ private void ToolStripButton_Settings_Click(object sender, EventArgs e) { FORMS.active_form(m_Setting); }
/*============================================================== * 关于 *==============================================================*/ private void ToolStripButton_About_Click(object sender, EventArgs e) { FORMS.active_form(m_About); }
/*============================================================== * 更新数据库 *==============================================================*/ private void ToolStripButton_UpdateDB_Click(object sender, EventArgs e) { FORMS.active_form(m_UpdateDatabase); }