نیازی به اضافه کردن radiobutton وغیره نیست شما برای اینکه بدونید کاربر جستجو رو بر اساس چه فیلدی می خواهد فقط کافی که ببینید جه ستونی رو عمل sort انجام داده و این یک روش عمومی برای اینکار می باشد یعنی باید در رویداد ColumnHeaderClick گرید خودت بفهمی که کاربر روی چه ستونی اینکار رو می خواهد انجام بدهد
در مورد اضافه کردن ستون ردیف فقط کافیه مقدار dataGridView1.Columns[n].DisplayIndex اون ستون رو مقدار صفر یا هر شماره ای که می خواهی در گرید نمایش داده بشه قرار بدهی