              (map-indexed
                (fn [col-index col]
                  (let [render-content (or (:content-renderer col) (fn [i data] data))]
-                   (render-body-cell
-                     props
-                     (nth (:column-widths props) col-index)
-                     (render-content row-index (nth row col-index)))))
+                   (render-cell
+                     {:width (nth (:column-widths props) col-index)
+                      :content (render-content row-index (nth row col-index))
+                      :cell-padding-left (or (:cell-padding-left props) 0)
+                      :content-container-style (merge
+                                                 {:padding (str "0.6em 0 0.6em " (or (:cell-padding-left props) 0))}
+                                                 (:cell-content-style props))})))
                (:columns props))
              (common/clear-both)]))
         (:rows @state))])})

     ((:onChange props)))})


(defn- render-cell [width content cell-style cell-padding-left content-container-style onResizeMouseDown onSortClick sortOrder]
  [:div {:style (merge {:float "left" :position "relative" :width width :minWidth 10}
                       cell-style)}
   (when onResizeMouseDown
     [:div {:style {:position "absolute" :width 20 :top 0 :bottom 0 :left (- width 10) :zIndex 1
                    :cursor "col-resize"}
            :onMouseDown onResizeMouseDown}])

                                       assoc (:drag-column @state) (+ current-width drag-amount))
                                     (swap! state assoc :mouse-x new-mouse-x)))))
                :onMouseUp #(swap! state assoc :dragging? false)}
          (render-header state props)
          [Body (assoc props
                  :ref "body"
                  :columns (:columns props)
