Утро.
Проблема:
У меня есть класс, который называется Отчеты.Два конструктора.Один не позволяет никаких параметров, другой массив строк.Строковый массив должен представлять собой отчеты, которые они хотели бы отображать.Я хотел бы сделать следующее:
string strSQL = this.Queries[strReportName];
У меня такое ощущение, что это возможно, потому что в используемом мной dataGridView я получаю индекс столбца по:
int nColumnIndex = dgvParts.Columns[strColumnName].Index;
В обоих этих примерах используется строка, чтобы определить, какое значение в массиве они получают, но я не уверен, как это сделать.Кто-нибудь может мне помочь?Любая помощь приветствуется.
Для редакторов и модов: Да, часть отчетов слабо связана с другим постом, который у меня есть о динамической загрузке DLL, но я хотел бы оставить другой открытым.Мы с моим боссом решили на короткий срок, что у нас будет только одна DLL, и все будет жестко запрограммировано, но в долгосрочной перспективе мы хотим динамически добавлять DLL в качестве отчетов, поэтому, пожалуйста, не отмечайте это как дубликат.Я планирую на этих выходных попробовать и методы, данные мне в другой ветке.Спасибо.
Редактировать - часть 2 вопроса : Хорошо, вот мой класс, как он есть сейчас:
public class Queries
{
#region Report Queries
#region Missing Code
string strMissingCode = "SELECT * FROM PARTS WHERE CODE IS NULL OR CODE = ''";
#endregion
#endregion
}
Я хотел бы изменить его начто-то вроде этого:
public class Queries : Dictionary<string, string>
{
}
Но я не хочу, чтобы им приходилось использовать конструктор для его создания.Мне нужна статическая сортировка, чтобы я мог запускать такой код:
class Reports
{
private List<ReportRecord> _lstRecrods = new List<ReportRecord>();
public List<ReportRecord> Records { get { return _lstRecords; } }
public Reports(string[] strDisplayedReports)
{
foreach (string strReportTitle in strDisplayedReports)
{
this.BuildReportList(strReportTitle);
}
}
private void BuildReportList(string strReportTitle)
{
using (DataSet ds = Database.GetDataSet(Queries[strReportTitle]))
{
...
}
}
}
Как мне сделать статическую сортировку там, где мне не нужно создавать экземпляры Queries?Спасибо, ребята и девочки.