Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…. Часто стандартных Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² нСдостаточно, ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ динамичСскиС списки. Π­Ρ‚ΠΈ элСмСнты ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, которая формируСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ открытия Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π΅ являясь ΠΏΡ€ΠΈ этом прямым ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… списков ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ, ΠΎΡ‚Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… источников ΠΈ создания ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΎΠΊ. Однако, Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² памяти ΠΈΠ»ΠΈ событиями Ρ„ΠΎΡ€ΠΌ, процСсс ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ затруднСния. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ создания динамичСского списка ΠΎΡ‚ объявлСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π΄ΠΎ написания ΠΊΠΎΠ΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Главная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти клиСнтского прилоТСния ΠΈΠ»ΠΈ сСрвСра Π²ΠΎ врСмя сСанса. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ рСализация обСспСчит Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° интСрфСйса.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ модуля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом являСтся объявлСниС мСста для хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ для вашСго списка. Π’ΠΈΠΏ этого Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ БписокЗначСний ΠΈΠ»ΠΈ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π² зависимости ΠΎΡ‚ слоТности структуры Π΄Π°Π½Π½Ρ‹Ρ….

Если Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ БписокЗначСний, Π²Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ двумя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ прСдставлСниСм. Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для простых Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… списков ΠΈΠ»ΠΈ списков Π²Ρ‹Π±ΠΎΡ€Π°. Для Π±ΠΎΠ»Π΅Π΅ слоТных интСрфСйсов, Π³Π΄Π΅ трСбуСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Π°, количСство, Ρ†Π΅Π½Π°), Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ свойствах Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚ΠΈΠΏΠ° "Бписок" (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ привязан ΠΊ динамичСскому списку Π‘ΠšΠ”) ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° "БписокЗначСний". Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ формирования Π½Π°Π±ΠΎΡ€Π° строк ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ коллСкция Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Π½Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π‘ΠšΠ”.

ПослС добавлСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Ρ„ΠΎΡ€ΠΌΡ‹. Π—Π΄Π΅ΡΡŒ Π²Π°ΠΌ прСдстоит Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π›ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅ всСго Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ заполнСния Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события ΠŸΡ€ΠΈΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ отрисована Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ лишниС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром.

Π’Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксы, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘ΠΏΠΈΡΠΎΠΊΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ²Π”Π»ΡΠžΡ‚Π±ΠΎΡ€Π°. Π­Ρ‚ΠΎ упростит ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ΄Π° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, особСнно Ссли Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… динамичСских Ρ‚Π°Π±Π»ΠΈΡ†. ЧСткая структура модуля β€” Π·Π°Π»ΠΎΠ³ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Алгоритм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ заполнСния списка

ΠŸΡ€ΠΎΡ†Π΅ΡΡ наполнСния списка Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘Π½Π°Ρ‡Π°Π»Π° создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Π·Π°Ρ‚Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· запрос Π² Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ строки. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования БписокЗначСний, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частый сцСнарий для Π·Π°Π΄Π°Ρ‡ ΠΎΡ‚Π±ΠΎΡ€Π°.

Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ экзСмпляра ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструктор Ρ‚ΠΈΠΏΠ°. ПослС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ свойствами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ порядок сортировки ΠΈΠ»ΠΈ использованиС индСксов для быстрого поиска. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΡ€ΠΈΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅(ΠžΡ‚ΠΊΠ°Π·, Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Π°ΡΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°)

БписокДанных = Новый БписокЗначСний;

БписокДанных.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1", "ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅1");

БписокДанных.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅2", "ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅2");

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π‘ΠΏΠΈΡΠΎΠΊΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ΠΎΠ² = БписокДанных;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Если источником Π΄Π°Π½Π½Ρ‹Ρ… слуТит запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° услоТняСтся. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈ пСрСнСсти Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° Π² Π²Π°ΡˆΡƒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ. ΠŸΡ€ΠΈ этом Π²Π°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…: Ссли Π² список Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ.

ИспользованиС Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π°Π΅Ρ‚ большС гибкости. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ динамичСски, Π·Π°Π΄Π°Ρ‚ΡŒ ΠΈΠΌ Ρ‚ΠΈΠΏΡ‹ ΠΈ Π΄Π°ΠΆΠ΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ форматирования. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ Π³Ρ€ΠΈΠ΄Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ хранятся Π² рСгистрах ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° заполнСния списка

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π’Ρ‹Π²ΠΎΠ΄ списка Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ: элСмСнты управлСния

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Для этого Π½Π° ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ свойств Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ элСмСнт управлСния Ρ‚ΠΈΠΏΠ° Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠ»ΠΈ ΠŸΠΎΠ»Π΅Π’Ρ‹Π±ΠΎΡ€Π°, Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.

Для БписокЗначСний стандартным элСмСнтом являСтся ΠŸΠΎΠ»Π΅Π’Ρ‹Π±ΠΎΡ€Π° (Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список) ΠΈΠ»ΠΈ Бписок (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ список с полосой ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ). Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ нСсколько элСмСнтов, установитС свойство ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉΠ Π΅ΠΆΠΈΠΌ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π˜ΡΡ‚ΠΈΠ½Π°. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ ΠΏΠΎΠ»Π΅ Π² список с чСкбоксами.

ΠŸΡ€ΠΈ использовании Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ выводится элСмСнт Π’Π°Π±Π»ΠΈΡ†Π°. Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΈΡ… ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ. Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ доступными Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ. Π­Ρ‚ΠΎ настраиваСтся Π² свойствах ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.

  • πŸ“Š Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ для выдСлСния Ρ†Π²Π΅Ρ‚ΠΎΠΌ строк Π² зависимости ΠΎΡ‚ статуса Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ” Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π‘Ρ‹ΡΡ‚Ρ€Ρ‹ΠΉΠžΡ‚Π±ΠΎΡ€, Ссли список содСрТит Π±ΠΎΠ»Π΅Π΅ 20 строк, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ.
  • πŸ”’ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΡŒΡ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· свойство Π’ΠΎΠ»ΡŒΠΊΠΎΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€, Ссли Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ справочными.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ. ΠŸΡƒΡΡ‚Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±Π΅Π· понятных Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ затрудняСт восприятиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π—Π°Π΄Π°ΠΉΡ‚Π΅ свойство Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ понятныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, Π° Π½Π΅ тСхничСскиС ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий ΠΈ взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

ДинамичСский список Ρ€Π΅Π΄ΠΊΠΎ Π±Ρ‹Π²Π°Π΅Ρ‚ статичным. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΌ, Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ дСйствия. Для Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° эти события Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ событиСм для Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ поля ΠΈΠ»ΠΈ Ρƒ строки Π² Ρ†Π΅Π»ΠΎΠΌ.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ вычислСния сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ событиС ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ поля Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’ этом ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ доступ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строкС ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… этой ΠΆΠ΅ строки.

Для выполнСния дСйствий ΠΏΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ строкам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°) часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ элСмСнту Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ строки ΠΈ выполняСтС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ. Π­Ρ‚ΠΎ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТный сцСнарий Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

πŸ“Š Какой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для динамичСских списков?
БписокЗначСний
Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Массив
Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π’Π°ΠΆΠ½Ρ‹ΠΌ аспСктом являСтся валидация Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ нСдопустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ошибкС. Для этого Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π’Ρ‹Π·Π²Π°Ρ‚ΡŒΠ˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ устанавливайтС фокус Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ сохранСниС Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти Ρ„ΠΎΡ€ΠΌΡ‹.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ…

Когда динамичСский список содСрТит тысячи строк, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒΡΡ. Основная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° лоТится Π½Π° клиСнтскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ всС элСмСнты. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ "подвисаний", Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ряд ΠΏΡ€Π°Π²ΠΈΠ» ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ лишниС Π΄Π°Π½Π½Ρ‹Π΅. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹, Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ вСсь справочник. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ Π² запросС Π½Π° этапС формирования списка. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ частых ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠžΠ±Π½ΠΎΠ²Π»ΡΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ строки ΠΈΠ»ΠΈ ячСйки.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π­Ρ„Ρ„Π΅ΠΊΡ‚ Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ внСдрСния
ΠžΡ‚Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π² запросС Высокий Низкая
Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ БрСдняя
Асинхронная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Высокий Высокая
ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ БрСдняя

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ ΠŸΡ€ΠΈΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈΠ”Π°Π½Π½Ρ‹Ρ…ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅. Если Ρ„ΠΎΡ€ΠΌΠ° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ слишком часто, это создаСт лишнюю Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр. ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ вашСй Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ постоянно обновляСтся. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ повСдСния Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. ВсСгда тСстируйтС Ρ„ΠΎΡ€ΠΌΡƒ Π² Ρ‚ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ основными ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

ЧастыС ошибки ΠΈ способы ΠΈΡ… устранСния

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСскими списками Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Ρ‚ΠΈΠΏΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Одна ΠΈΠ· самых распространСнных β€” потСря Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ пСрСзаписи. Если Π²Ρ‹ присваиваСтС Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹, старая ссылка тСряСтся, ΠΈ всС измСнСния, сдСланныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ вСрсии списка, ΠΏΡ€ΠΎΠΏΠ°Π΄ΡƒΡ‚.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ошибка связана с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Число, строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния. ВсСгда явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΡ€ΠΈ создании Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НС ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° автоматичСскоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

Π‘Π΅ΠΊΡ€Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими списками

Если список ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 10 000 строк, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования постраничной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ скроллинга, хотя стандартными срСдствами 1Π‘ это рСализуСтся слоТно. Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹ΠΌ ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° этапС запроса.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ контСкста выполнСния. Код, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ с элСмСнтами Ρ„ΠΎΡ€ΠΌΡ‹, часто Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… β€” Π½Π° сСрвСрС. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкам Π²Ρ‹Π·ΠΎΠ²Π° сСрвСрного контСкста ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ &НаБСрвСрС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС инструмСнты ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π°. Π’ΠΎΡ‡ΠΊΠΈ останова Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ этапС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ списка ΠΈΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ количСство строк Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ присваиваниСм Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹.

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ слоТными измСнСниями структуры Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сдСлайтС копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ(). Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ измСнСния Π² случаС ошибки, Π½Π΅ тСряя исходныС Π΄Π°Π½Π½Ρ‹Π΅.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСский список Π² качСствС источника для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π‘ΠšΠ”?

НСт, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚ΠΈΠΏΠ° БписокЗначСний с схСмой ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘ΠšΠ”) Π² качСствС основного Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… нСльзя. Π‘ΠšΠ” Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π½Π° сСрвСрС. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· списка Π² Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° сСрвСрС ΠΈ ΡƒΠΆΠ΅ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚.

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ динамичСского списка ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹?

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² памяти, ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ½ΠΈ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹ (ΠŸΠ΅Ρ€Π΅Π΄Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ) Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ содСрТимоС списка Π² рСгистр свСдСний, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ Π²ΠΎ внСшнСС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ список Π½Π΅ обновляСтся послС измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅?

ДинамичСский список заполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹. Если Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Π΅ измСнились, Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ± этом Π½Π΅ ΡƒΠ·Π½Π°Π΅Ρ‚ автоматичСски. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ "ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ" Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ заполнСния списка ΠΈΠ· Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π±Π°Π·Ρ‹.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΠ’Π°Π±Π»ΠΈΡ†Π΅ΠΉ?

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сущСствуСт Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти процСсса ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ сСрвСра 1Π‘ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² интСрфСйсС. ВрСмСннаяВаблица создаСтся Π½Π° сторонС Π‘Π£Π‘Π” ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для слоТных запросов ΠΈ хранСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°ΠΌΠΊΠ°Ρ… сСанса, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдставлСния Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… усилий.

πŸ’‘

ДинамичСскиС списки β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для создания Π³ΠΈΠ±ΠΊΠΈΡ… интСрфСйсов, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ контСксту выполнСния ΠΊΠΎΠ΄Π°.