The select command of sqldatasource2 should be this..
SelectCommand="SELECT * FROM EXPENSE_TBL WHERE ExpenseID=@ExpenseID"
inorder to change record according to selection from gridview
else it will select all records from database but display only the last record of data table very time selection is changed in gridview
WHERE ExpenseID=@ExpenseID passes the selected record ID to datasource