The gram positive have negative components in the peptidoglycan layer in the form of teichoic acid phosphodiester bonds, and the gram negative have negative components in their outer membrane in the form of lipopolysaccharide. Is that where the crystal violet binds?
The gram staining relies on the differences in the bacterial membranes. The gram positive bacteria have a thick peptidoglycan layer on top of the cell membrane, the gram negative bacteria have a lipid layer on the outside followed by a thin peptidoglycan layer and then the cell membrane. See the image for clarification (from here):
Crytall violet dissociates into a positively charged dye molecule (CV+) and chloride (Cl-). The CV+ travels between the membrane layers (outer and inner membrane) and is trapped there by the addition of iodine. This is used to form large crytal violet-iodine complexes which are retained during the destaining process.
In the destaining process, the peptidoglycan layer of gram positive bacteria is dehydrated and therefore shrinks which prevents the staining from being washed out. In the gram negative bacteria, the outer lipid layer is removed and the peptidoglycan layer (which is much thinner) exposed which allows the removal of the stain. The teichoic acid is important for the rigidity of the membrane but not for the binding itself.