because you selecting only
Compcode,Acct_sub0
from your database but you try to get 7 values in each record in below code line
data.Add(new datalist7(rdr.GetString(0), rdr.GetString(1),rdr.GetString(2),rdr.GetString(3),rdr.GetString(4),rdr.GetString(5),rdr.GetString(6)));
change the sql statement to return 7 fields or only read the columns which returning from the data reader.
if you only need two columns then change above line to
data.Add(new datalist7(rdr.GetString(0), rdr.GetString(1),"","","","",""));