#c# #asp.net #sql
#c# #asp.net #sql
Вопрос:
Я заполняю DataGrid из таблицы данных SQL. Моя хранимая процедура возвращает список имен пользователей с именем поля «Username». Я снова объявляю сетку данных и только один столбец «Username». Я получаю сообщение об ошибке «Поле или свойство с именем не найдено в выбранном источнике данных».. Столбцы имеют одинаковое имя «Username», поэтому я не могу понять, почему я должен это получить, у кого-нибудь есть идея?
Заранее спасибо за любую помощь!
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds);
BoundColumn c1 = new BoundColumn();
c1.HeaderText = "Username";
c1.DataField = "Username";
dgUsers.Columns.Add(c1);
dgUsers.DataSource = ds.DefaultViewManager;
dgUsers.DataBind();
Комментарии:
1. перед вызовом databind используйте ds. Напишите EXML и опубликуйте xml, чтобы мы могли «видеть» ваш набор данных
2. соответствует ли регистр имени поля в SQL server имени в вашем коде?
Ответ №1:
Вы должны установить для свойства AutoGenerateColumns dgUsers значение true и временно не добавлять c1 в dgUsers.Столбцы. Затем datagrid покажет все столбцы из источника данных по мере их возврата, и вы сможете увидеть, что происходит.