(CNN) -- Christopher Grant was in the Walmart produce section when gunfire rattled. It was about 10:30 a.m. on a Saturday -- with parents and carefree children searching the aisles for back-to-school bargains.
But on this morning, a man in khakis brandishing a gun roamed the store in El Paso, leaving bullet casings and blood scattered all over.
Terrified shoppers went on their knees and begged for their lives whenever he turned his gun in their direction, Grant said.
"People were praying in Spanish, 'Por favor, no. No, por favor,'" Grant said. "They were on the ground and he still just shot them in the head. They were praying ... 'Please, please, don't shoot me.' He had no remorse for their lives at all."
To deter the gunman, Grant tossed bottles at him. One hurtled in the shooter's direction, making him turn toward Grant and fire rounds.
"I was like, oh my God, this guy is shooting at me," Grant told CNN's Chris Cuomo. He tried to duck but a bullet struck him in the back, sending him fleeing to the auto department, where a federal agent helped stop his bleeding.
The gunman headed toward the bank next to the store's restroom and kept firing.
"I could just tell he was prepared," Grant said.
At the bank: More victims
The first call of an active shooter went out at 10:39 a.m. local time, and the first officer arrived on the scene six minutes later, police said. By then, the gunman had fatally shot 22 people and injured two dozen more.
At the bank, Octavio Lizarde was opening an account accompanied by his nephew when the gunman strode in and opened fire.
He grabbed his nephew's hand and they scampered to the back of the bank, he said at a news conference from the hospital Tuesday. The gunman heard them, walked to where they were and shot his nephew, Javier Rodriguez, 15, killing him. He also shot at Lizarde, wounding him in the leg, he said.
Lizarde tearfully talked about his injuries and how he's coping with the loss of his nephew.
"I'm in pain, it hurts," he said. "This pain will end. The only pain that won't end is ... emotional."
He described his efforts to save his nephew by dragging him farther into the room -- away from the bullets.
"The shooter came and I guess he heard us and he shot him," he said.
After deadly chaos, an arrest without incident
The suspected gunman has been identified as Patrick Crusius of Allen, Texas. He was arrested in the Walmart parking lot after he got out of his vehicle unarmed and walked over to law enforcement units, an official told CNN.
He was arrested without incident, charged with capital murder and is being held without bond, police said. They described the gun as a "7.62-caliber weapon."
Police believe the attack was fueled by hatred for Hispanic immigrants, according to an online document police believe he wrote.
He bought his weapon near the suburb of Dallas where he lived. He drove about 11 hours from his Allen home to the El Paso Walmart, police said.
Crusius, 21, has been cooperating with authorities since his arrest and has volunteered evidence, El Paso Police Chief Greg Allen said.
™ & © 2019 Cable News Network, Inc., a Time Warner Company. All rights reserved.