Оконные формы C# заполняют datagrid пустыми столбцами, если в поле отсутствует порядковый номер
Я пытаюсь заполнить данные из базы данных в gridview. Он прекрасно работает, данные заполняются, но мне нужно добавить пустую строку, если запись отсутствует. У меня есть combobox с именами изображений, перечисленными в нем, и мне нужно использовать его для сравнения, если конкретное изображение отсутствует, мне нужно добавить пустую запись на его место между предыдущей добавленной записью и следующей записью из базы данных.
Например. У меня есть 10 изображений в combobox. Я сохранил данные из 6 изображений, а затем из последних 2 изображений, но пропустил два изображения(7,8). Поэтому, когда я нажимаю кнопку, она открывает другое окно с gridview, чтобы показать введенные данные и пустые строки между записями, извлеченными из базы данных.
Я пытаюсь получить какую-то идею, чтобы реализовать это. Любая помощь или предложения приветствуются.
SetValue = Marriage.SetValue; cmbcount = Marriage.cmbcount; DataRow dr; string ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString; using (SqlConnection con = new SqlConnection(ConnectionString)) { using (SqlCommand cmd = new SqlCommand()) { cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "usp_CAMR_BatchVerify"; con.Open(); cmd.Connection = con; cmd.Parameters.AddWithValue("@BATCH_NAME", SetValue); cmd.Parameters.AddWithValue("@ERR_CODE", ""); cmd.Parameters.AddWithValue("@ERR_MSG", ""); cmd.Parameters.AddWithValue("@TABLE_NAME", ""); using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) { using (DataTable dt = new DataTable()) { sda.Fill(dt); dataGridView1.DataSource = dt; for (int i = dt.Rows.Count; i < cmbcount; i++) { dr = dt.NewRow(); dt.Rows.Add(dr); } dt.AcceptChanges(); dataGridView1.DataSource = dt; //dataGridView1.DataBind(); } } } }
Что я уже пробовал:
Я поспешил заполнить пустые записи для остальных еще не сохраненных изображений.
j snooze
Если я правильно понял ваш вопрос не могли бы вы использовать
ДТ.Строк.Insert (int, int) первая-это позиция для добавления строки, вторая-количество строк, которые вы хотите вставить.
Member 12076824
Спасибо за ответ и извините за путаницу. Я пытался вставить строку только в том случае, если она еще не сохранена. Он может быть в конце или где-то посередине некоторых рядов
Karthik_Mahalingam
для (тип int я = ДТ.Строк.Count; i < cmbcount; i++)
это добавит строки только в конце, а не в середине(недостающая часть)
опубликуйте скриншот, если это возможно.
Member 12076824
Спасибо за ответ, я работал над той частью, которая прекрасно работала, как вы указали в конце. Я как пытался получить помощь с вставкой пустых строк посередине, так ее там и не было
Karthik_Mahalingam
ладно