#asp.net #gridview
#asp.net #просмотр сетки
Вопрос:
Как я могу сравнить информацию в 2 представлениях сетки, и когда я нажимаю кнопку сравнить, информация, которая не совпадает, появится в другом представлении datagridview?
Например, информация. в первом datagridview 12345, во втором datagridview 1234567, затем, когда я нажимаю кнопку сравнения, 67 появится в другом datagridview.
Заранее спасибо!
Комментарии:
1. Можете ли вы показать разметку для ваших 2 просмотров сетки? И какой код вы пробовали до сих пор, чтобы сравнить их?
Ответ №1:
Вы можете сделать что-то вроде этого
-
В коде, лежащем в основе, назначьте источник данных для просмотров сетки
защищенная пустая страница_load(отправитель объекта, EventArgs e) { if (!Страница.IsPostBack) { Список lists1 = новый список();
lists1.Add(1); lists1.Add(12345); lists1.Add(234354); lists1.Add(3421); lists1.Add(2343); g1.DataSource = lists1; g1.DataBind(); List<int> lists2 = new List<int>(); lists2.Add(1); lists2.Add(1234567); lists2.Add(234354); lists2.Add(334421); lists2.Add(2343343); g2.DataSource = lists2; g2.DataBind(); }
}
-
На кнопке сравнения нажмите выполнить сравнение.
защищенная пустота btn_Click(отправитель объекта, EventArgs e) { Список новых списков = новый список();
//iterate first gridview foreach (GridViewRow row1 in g1.Rows) { if (row1.RowType == DataControlRowType.DataRow) { string gv1Value = row1.Cells[0].Text; //iterate second gridview foreach (GridViewRow row2 in g2.Rows) { if (row2.RowType == DataControlRowType.DataRow) { string gv2Value = row2.Cells[0].Text; //do comparison here if (gv1Value.Contains(gv2Value)) { //if your criteria are met, put the data in the new lists newLists.Add(Convert.ToInt32(gv1Value)); } } } } } if (newLists.Count > 0) { g3.DataSource = newLists; g3.DataBind(); }
}
Надеюсь, это поможет
Комментарии:
1. результат этого кода не такой, как я хотел, наоборот. результат, который я хочу, — найти их разницу, а не одинаковое число в двух таблицах. И спасибо вам за этот код 🙂
2. Что, если данные, которые я буду помещать в gridview 1 и 2, взяты из sqldatasource? Какие коды я буду изменять? большое тебе спасибо