Ever since my grandson was an infant, I always keep a change of clothing at my house "just in case". My brand of choice is OshKosh, because of their durability and price.
I still have a pair of cargo pants from when he was a toddler. I specifically bought these pants because of their flexibility; the bottom half of the leg unzips to transform them into cargo shorts! It's a perfect combo for the cool mornings, and warm afternoons. The pants are fully lined in a flannel-type material, and the outer fabric is a cotton and nylon blend. It feels like a nice lightweight jacket material.
Although he's not a toddler anymore, but he's still very slim. The other day his jeans were wet from playing basketball in the rain. I didn't have my usual backup clothing, so I pulled out the OshKosh cargo pants. I knew he wasn't in toddler sizes anymore, and the pants were way too short, but I had an idea. ( Please don't think I'm some sort of deranged grandma!) I unzipped the bottom part of the pant legs, and prayed that he was still slim enough to fit into the waist size. Voilà! He still was able to wear the pants... well, as shorts anyway. And they didn't look stupid, like they were too small! They looked great!
I don't suggest trying to squeeze your son or grandson into clothing that is too small for them, but in my case I have a skinny little guy that could make it work. The OshKosh cargo pants have stood the test of time!