public void LoadTableByIds(string tableName, List <Int64> ids) { var tableSetting = Program.TableDisplaySettings.Find(a => a.TableName.Equals(tableName)); SQLiteTableReader reader = new SQLiteTableReader(Application.StartupPath, Program.DbPath); reader.Connect(); var table = reader.GetDataTable(tableSetting, ids); reader.Disconnect(); listBox1.ClearSelected(); if (table == null) { dataGridView1.DataSource = null; currentTableSettings = null; currentTable = null; } else { CheckBeforeReload(); SetDataTable(tableSetting, table); } }
private void SetDataTable(TableSettings settings, DataTable preloadedTable = null) { DataTable table = null; if (preloadedTable == null) { SQLiteTableReader reader = new SQLiteTableReader(Application.StartupPath, Program.DbPath); reader.Connect(); table = reader.GetDataTable(settings); reader.Disconnect(); } else { table = preloadedTable; } currentDictonary = Program.TransDict.LoadDictonary(Path.Combine(Program.DictonariesDir, settings.TableName + "_" + toolStripComboBox1.SelectedItem + ".txt")); if (currentDictonary.Count > 0) { foreach (var item in settings.TextTypeAndName) { for (int i = 0; i < table.Rows.Count; i++) { string original = (string)table.Rows[i][item.Value]; if (!string.IsNullOrWhiteSpace(original)) { string trans = Program.TransDict.GetTranslation(currentDictonary, original); if (!string.IsNullOrWhiteSpace(trans)) { table.Rows[i][item.Value + "_trans"] = trans; } } } } } table.AcceptChanges(); dataGridView1.RowTemplate.Height = settings.RowHeight; dataGridView1.DataSource = table; //dataGridView1.RowTemplate.Height = 50; for (int i = 0; i < dataGridView1.ColumnCount; i++) { if (dataGridView1.Columns[i].ValueType == typeof(Image)) { ((DataGridViewImageColumn)dataGridView1.Columns[i]).ImageLayout = DataGridViewImageCellLayout.Zoom; dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; } else if (dataGridView1.Columns[i].Name.EndsWith("_imagePath")) { dataGridView1.Columns[i].Visible = false; } else { dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dataGridView1.Columns[i].ReadOnly = true; } } foreach (var item in settings.TextTypeAndName) { dataGridView1.Columns[item.Value].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView1.Columns[item.Value].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridView1.Columns[item.Value].ReadOnly = false; dataGridView1.Columns[item.Value + "_trans"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView1.Columns[item.Value + "_trans"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridView1.Columns[item.Value + "_trans"].ReadOnly = false; } foreach (var item in settings.ColumnWidth) { dataGridView1.Columns[item.Key].AutoSizeMode = DataGridViewAutoSizeColumnMode.None; dataGridView1.Columns[item.Key].Width = item.Value; dataGridView1.Columns[item.Key].DefaultCellStyle.WrapMode = DataGridViewTriState.True; } currentTableSettings = settings; currentTable = table; if (filter != null) { filter.Close(); filter = null; } // var test = table.DefaultView.RowFilter = "LEN(SkillName)=5"; }