What are your thoughts on the use of sort/search/filter functionality within each table column vs. a single sort/search/filter that drives the entire table? When is one preferred over the other? What are the benefits and drawbacks of each?
Filtering on each column is possible but cumbersome especially when you would like to filter by multiple options within the same column. So creating a separate filter panel is preferable. It is also something that is widely used and users will perhaps be familiar with it to a good extent.
Unlike filters, sorting will be easier and preferable on the column headers. Technically there will be no differences even if you are considering pagination or lazy loading; under those circumstances the sorting is handled on the back-end. If you are trying to build a component from scratch then just build the sort feature as part of each column which will reduce the need for extra components in the system. Another advantage to having sort on the column header is the option to reverse the sort-order. If sort is being carried out by a button separately outside the table, then something more needs to built to take care of reverse sort order which users may or may not be familiar with. However if sorting is required in only two ways or so, keeping sort options for each column will not be a good estimate of effort.