Пользователи выбирают значения из раскрывающегося списка для заполнения промежуточной таблицы. Есть один раскрывающийся список, в котором есть каскадный раскрывающийся список... пользователь выбирает «Отдел», и ЕСЛИ в этом отделе есть программа, тогда пользователь выбирает программу из другого раскрывающегося списка. Если у отдела нет проблем, раскрывающийся список «Программа» остается невидимым.
Код программной части работает так, что если пользователь вводит запись без программы, я все равно могу видеть строка, отображаемая в таблице SQL, со значением NULL для Program. Однако, когда DataBind() произойдет снова, в представлении сетки не будет отображаться позиция, имеющая нулевое значение.
У меня есть представление сетки, которое я заполняю из SQLDataSource. [code]
[/code] Пользователи выбирают значения из раскрывающегося списка для заполнения промежуточной таблицы. Есть один раскрывающийся список, в котором есть каскадный раскрывающийся список... пользователь выбирает «Отдел», и ЕСЛИ в этом отделе есть программа, тогда пользователь выбирает программу из другого раскрывающегося списка. Если у отдела нет проблем, раскрывающийся список «Программа» остается невидимым. Код программной части работает так, что если пользователь вводит запись без программы, я все равно могу видеть строка, отображаемая в таблице SQL, со значением NULL для Program. Однако, когда DataBind() произойдет снова, в представлении сетки не будет отображаться позиция, имеющая нулевое значение. [code] 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();
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();
[/code] Я подумал, что, возможно, проблема была в самом GridView, поэтому я добавил NullDisplayText="-NA-" в свойства GridView, но все равно безуспешно. [code]