Ошибка при вставке источника данных в gridview
Мой дал
public List<BOL.MRF> MRFList(string SUBS_CD, string cc) { List<BOL.MRF> vOE_LIST = new List<BOL.MRF>(); oConnection.ConnectionString = ConnectionString; oConnection.Open(); SqlCommand oCommand = new SqlCommand(); oCommand.Connection = oConnection; oCommand.CommandType = CommandType.StoredProcedure; oCommand.CommandText = "mrf_list1"; oCommand.Parameters.Add(new SqlParameter("@Subs_cd", SUBS_CD)); oCommand.Parameters.Add(new SqlParameter("@cc", cc)); SqlDataReader oReader = oCommand.ExecuteReader(); while (oReader.Read()) { BOL.MRF MRF_L = new BOL.MRF(); MRF_L.E_Name = oReader.IsDBNull(oReader.GetOrdinal("E_Name")) ? "" : oReader["E_Name"].ToString(); MRF_L.requester = oReader.IsDBNull(oReader.GetOrdinal("Name")) ? "" : oReader["Name"].ToString(); MRF_L.Location = oReader.IsDBNull(oReader.GetOrdinal("E_Loc")) ? "" : oReader["E_Loc"].ToString(); MRF_L.P_Desc = oReader.IsDBNull(oReader.GetOrdinal("D_Prob")) ? "" : oReader["D_Prob"].ToString(); vOE_LIST.Add(MRF_L); } oReader.Close(); oConnection.Close(); return vOE_LIST; }
мой КС.aspx-файл
protected void FillRequestGrid() { int loggedUserID = Convert.ToInt32(Session["loggedUserID"]); List<BOL.UserInfo> userslist = new UserInfos().List(); BOL.UserInfo loggeduser = userslist.Where(x => x.UserID == loggedUserID).FirstOrDefault(); DAL.MRFs mrf_L= new MRFs(); var mrf1 = mrf_L.MRFList(loggeduser.SUBSIDIARY_CD, loggeduser.CostCenter); GridR.DataSource = mrf_L; GridR.DataBind(); if (GridR.Rows.Count > 0) { GridR.HeaderRow.TableSection = TableRowSection.TableHeader; } }
я получаю эту ошибку при заполнении источника данных в моем gridview.
ошибка :
Additional information: Data source is an invalid type. It must be either an IListSource, IEnumerable, or IDataSource.линия
GridR.DataSource = mrf_create;
Есть идеи, как преобразовать его в listsource/datasource?
Что я уже пробовал:
нужен проводник, большое вам спасибо.
Kornfeld Eliyahu Peter
Неясно, что это за тип (как объявленный) MRFs, но ясно, что не один из упомянутых выше...
Пожалуйста, проверьте это - и поделитесь с нами, если не можете увидеть проблему в одиночку...
j snooze
Код, который вы опубликовали, не соответствует строке, в которой, как вы говорите, произошла ошибка. Это GridR. DataSource = mrf_L;
или
GridR.Источник данных = mrf_create;
??
В любом случае, похоже, что вы пытаетесь привязать один объект к источнику данных из определения mrf_L. usersList-это единственный объект списка, который я вижу в методе, где вы пытаетесь привязать источник данных к сетке.