Доброе утро.
Проблема:
У меня есть класс «Отчеты». Два конструктора. Один не допускает параметров, другой - массив строк. Строковый массив должен быть отчетами, которые они хотели бы отобразить. Я бы хотел сделать следующее:
string strSQL = this.Queries[strReportName];
Я чувствую, что это возможно, потому что в используемом мной dataGridView я получаю индекс столбца следующим образом:
int nColumnIndex = dgvParts.Columns[strColumnName].Index;
Оба этих примера используют строку, чтобы определить, какое значение в массиве они получают, но я не знаю, как это сделать. Кто-нибудь может мне помочь? Любая помощь приветствуется.
Редакторам и модерам: Да, часть отчетов слабо связана с другим сообщением, которое у меня есть о динамической загрузке DLL, но я бы хотел, чтобы другой оставался открытым. Мы с боссом решили на короткий срок, что у нас будет только одна DLL, и все будет жестко закодировано, но в долгосрочной перспективе мы хотим динамически добавлять библиотеки DLL в виде отчетов, поэтому, пожалуйста, не помечайте это как дубликат. Я планирую на этих выходных попробовать реализовать методы, данные мне в другом потоке. Спасибо.
Edit - Часть 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]))
{
...
}
}
}
Как мне сделать статические типы, когда мне не нужно создавать экземпляры запросов? Спасибо, ребята и девчонки.