ASP.NET Gridview не показывает строки, если значение в строке равно NULLC#

Место общения программистов C#
Ответить
Anonymous
 ASP.NET Gridview не показывает строки, если значение в строке равно NULL

Сообщение Anonymous »

У меня есть представление сетки, которое я заполняю из SQLDataSource. Пользователи выбирают значения из раскрывающегося списка для заполнения промежуточной таблицы. Есть один раскрывающийся список, в котором есть каскадный раскрывающийся список... пользователь выбирает «Отдел», и ЕСЛИ в этом отделе есть программа, тогда пользователь выбирает программу из другого раскрывающегося списка. Если у отдела нет проблем, раскрывающийся список «Программа» остается невидимым.
Код программной части работает так, что если пользователь вводит запись без программы, я все равно могу видеть строка, отображаемая в таблице SQL, со значением NULL для Program. Однако, когда DataBind() произойдет снова, в представлении сетки не будет отображаться позиция, имеющая нулевое значение.

Код: Выделить всё

      string sql = "insert into OrderStaging (yearCode, librarianID, acquisitionsTechId, catalogingTechId, institutionId, departmentId, programId, descr, " +
"materialTypeId, vendorId, source, requestingFaculty, facultyEmail, facultyPhone, courseReserve, courseId, courseName, requestorNotes, notify, " +
"preview, hold) values (year(getdate()), @librarianId, @acquisitionsTechId, @catalogingTechId, @institutionId, @departmentId, @programId, @descr, +" +
"@materialTypeId, @vendorId, @source, @requestingFaculty, @facultyEmail, @facultyPhone, @courseReserve, @courseId, @courseName, @requestorNotes, @notify, @preview, @hold)";

try
{

conn = new SqlConnection(ConfigurationManager.AppSettings["ForCustomWebApps"]);
SqlCommand command = conn.CreateCommand();

command.Parameters.AddWithValue("@librarianId", ddlLibrarians.SelectedItem.Value);
command.Parameters.AddWithValue("@acquisitionsTechId", ddlAcqTechs.SelectedItem.Value);
command.Parameters.AddWithValue("@catalogingTechId", ddlCatTechs.SelectedItem.Value);
command.Parameters.AddWithValue("@departmentId", ddlDepts.SelectedItem.Value);
if (ddlProgs.SelectedIndex != -1)
command.Parameters.AddWithValue("@programId", ddlProgs.SelectedItem.Value);
else
command.Parameters.AddWithValue("@programId", DBNull.Value);
command.Parameters.AddWithValue("@institutionId", ddlInst.SelectedItem.Value);
command.Parameters.AddWithValue("@descr", itemTitle.Text);
command.Parameters.AddWithValue("@materialTypeId", ddlMaterial.SelectedItem.Value);
command.Parameters.AddWithValue("@vendorId", ddlVendor.SelectedItem.Value);
command.Parameters.AddWithValue("@source", source.Text);
command.Parameters.AddWithValue("@requestingFaculty", facName.Text);
if (command.Parameters.Contains("@facultyEmail"))
command.Parameters.AddWithValue("@facultyEmail", facEmail.Text);
else
command.Parameters.AddWithValue("@facultyEmail", "");

if (command.Parameters.Contains("@facultyPhone"))
command.Parameters.AddWithValue("@facultyPhone", facPhone.Text);
else
command.Parameters.AddWithValue("@facultyPhone", "");
command.Parameters.AddWithValue("@courseReserve", courseReserve.SelectedValue);
command.Parameters.AddWithValue("@courseId", courseNum.Text);
command.Parameters.AddWithValue("@courseName", courseName.Text);
command.Parameters.AddWithValue("@requestorNotes", requestorNotes.Text);
if (!notify.Selected)
command.Parameters.AddWithValue("@notify", "Y");
else
command.Parameters.AddWithValue("@notify", "N");
if (!preview.Selected)
command.Parameters.AddWithValue("@preview", "Y");
else
command.Parameters.AddWithValue("@preview", "N");
if (!hold.Selected)
command.Parameters.AddWithValue("@hold", "Y");
else
command.Parameters.AddWithValue("@hold", "N");

command.CommandText = sql;
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter = new SqlDataAdapter(command);

DataSet ds = new DataSet();
adapter.Fill(ds, "orders");
gvOrders.DataBind();

Я подумал, что, возможно, проблема была в самом GridView, поэтому я добавил NullDisplayText="-NA-" в свойства GridView, но все равно безуспешно. Есть идеи, что я делаю неправильно?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ow-is-null
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»