What is "b'Lev Shalem"?
'Rashi': With one heart. They give willingly, and not with two hearts (reservations). Some people give due to coercion, unwillingly, or he is embarrassed because others are giving. This is called two hearts. These, all gave willingly. Malbim - this is why they rejoiced!
Why does it say that also David had great Simchah?
'Rashi': Do not say that he was like them, and did not rejoice more. He rejoiced more than all of them, for he was the active party. This is like "Harim Nazlu Mipnei Hashem Zeh Sinai" (Shoftim 5:5) - Har Sinai [melted] more than all of them, for Hashem descended on it in fire (Shemos 19:18).
Malbim: David rejoiced because they volunteered with a full heart - this arouses Hashem's desire.


