Указатель на запись (база + индекс)
Здесь представлен фрагмент приложения
предназначенного для составления рационов кормления. Суть интерфейса приложения:
- выбираем животное и его параметры (не показано);
- следствием этого является определение строки норм в таблице MSExcel;
- выбираем тип, вид и наименование конкретного корма;
- следствием этого является определение строки для выбранного корма в таблице
показателей содержания питательных веществ (база + индекс)
- нажатием на зеленую стрелку запускаем расчет потребного количества корма с
учетом структуры (относительное количество данного типа в рационе), норм кормления,
содержания питательных веществ в данном корме и учетом возможного выбора нескольких
кормов одного типа.
В фрагменте приведен код, относящийся к выбору корма, т.е. демонстрируется
работа со списками. Исключен код взаимодействия с MSExcel (мы этому
уже научились), но показан механизм определения записи в таблице, показана строка
для отладки приложения (Указатель на запись). Поэкспериментируйте со списками, проверьте
изменения во втором списке и в указателе на запись при выборе того или иного вида
корма.
Не будем подробно разбирать скрипты, изучите самостоятельно
(в виде HTML), однако рассмотрим некоторые тонкости:
1. Все необходимые для интерфейса списки (отображаемые при загрузке)
изначально формируются в HTML коде.
2. Фиксируются имена (идентификаторы) списков.
3. Формируется массив списков, предназначенных для подстановки на место
второго списка, при этом каждый подставляемый список имеет то же имя, что и заменяемый.
4. Варианты списков могут быть оформлены в виде отдельного текстового файла.
5. Не забываем включить в массив (текстовый файл) и исходный список.
6. Атрибут value первого списка представляет базу (начало) группы кормов
одного вида в таблице показателей содержания питательных веществ.
7. Атрибут value второго списка - смещение конкретного корма; однако,
более целесообразно использовать this.selectedIndex в качестве передаваемого параметра.
Поясним эти тонкости кодом:
- фрагмент файла, который представляет развернутый в строку SELECT с правленными кавычками
var txt1 = "<select name='select71' style=' width : 180'> <option
value='1' selected>Ежи сборной</option> <option value='2'>Житняковое</option>
<option value='3'>Злаковое</option> <option value='4'>Злаково-разнотравное</option>
<option value='5'>Луга культурного и т.д.
var txt2 = "<select name='select71' style=' width : 180'> <option
value='1' selected>Житняковое</option> <option value='2'>Злаковое</option>
<option value='3'>Злаковое смешанное</option> <option value='4'>Кострецовое</
option> и т.д.
в качестве примечания: никто не мешает оформить строковые переменные непосредственно
в HTML файле, но это будет нечитаемо, не очень удобно
- после выбора в первом списке, формируем массив списков и выбираем требуемый по индексу
в качестве второго
function select_seno(ind){
arr_nam = new Array (txt1,txt2,txt3,txt4, txt5);
seno.innerHTML=arr_nam[ind];
}
Итак, в процессе выбора корма мы постоянно подставляем требуемые
списки, получаем номер "записи в базе данных", в качестве которой используется MSExcel,
далее организуем обработку данных, подготовку отчетов и т.д., и т.п.