Ниже приведен фрагмент из файла MXML, используемый для отчетов сотрудников.Условно добавление AdvancedDataGridColumn в AdvancedDataGrid
<mx:AdvancedDataGrid id="adgID"
dataProvider="{empList}"
width="720" height="450"
defaultLeafIcon="{null}"
selectionColor="#B5B2B2" rollOverColor="#6AB9F7"
showEffect="{}">
<mx:columns >
<mx:AdvancedDataGridColumn dataField="empId" headerText="Employee ID"/>
<mx:AdvancedDataGridColumn dataField="dept" headerText="Department" />
<mx:AdvancedDataGridColumn dataField="empLastName" headerText="Last Name" />
<mx:AdvancedDataGridColumn dataField="empFirstName" headerText="First Name" />
</mx:columns>
</mx:AdvancedDataGrid>
Я хочу использовать тот же файл MXML для нескольких разных отчетов с некоторыми изменениями в столбцах. Эти 4 столбца являются общими для всех отчетов, но некоторые из них имеют несколько дополнительных отчетов. Я могу изменить empList (dataProvider для сетки), но я не уверен, как добавить дополнительные столбцы в этот код, поэтому не все отображается для каждого отчета.
В основном я хочу, чтобы это сделать,
<mx:AdvancedDataGrid id="adgID"
dataProvider="{empList}"
width="720" height="450"
defaultLeafIcon="{null}"
selectionColor="#B5B2B2" rollOverColor="#6AB9F7"
showEffect="{}">
<mx:columns >
<mx:AdvancedDataGridColumn dataField="empId" headerText="Employee ID"/>
<mx:AdvancedDataGridColumn dataField="dept" headerText="Department" />
<mx:AdvancedDataGridColumn dataField="empLastName" headerText="Last Name" />
<mx:AdvancedDataGridColumn dataField="empFirstName" headerText="First Name" />
<!------------------------ Need to add this part ------------------------>
if(reportType == 1) {
<mx:AdvancedDataGridColumn dataField="empDOB" headerText="DOB" />
}
if(reportType == 2) {
<mx:AdvancedDataGridColumn dataField="empSalary" headerText="Salary" />
}
<!------------------------ Need to add this part ------------------------>
</mx:columns>
</mx:AdvancedDataGrid>
Как я могу это сделать? Мы используем Flex 3. У меня есть базовые знания Flex.
Благодарим за помощь. - AndyT
Спасибо, Майк. Мое понимание полей в dataProvider должно совпадать с AdvancedDataGridColumn в сетке, это правильно? Если это правильно, то видимый вариант будет работать в моем случае? – AndyT
Да - столбец будет использовать свойство dataField для объекта для каждой строки, или вы можете указать labelFunction для форматирования данных по мере необходимости (например, значение доллара может быть отформатировано через CurrencyFormatter). Однако DataField не является обязательным требованием. Видимое свойство столбца будет либо отображать, либо пропускать столбец вместе. –