Похоже, вы пытаетесь передать аргументы конструктора в std::pair
в качестве параметров шаблона. То есть вы использовали < >
вместо ( )
.
Кроме того, поскольку unique_ptr
нельзя скопировать, необходимо std::move
их передать их конструктору.
Следующий код компилируется с g++ -std=c++17 Move.cc
.
#include <vector>
#include <memory>
#include <utility>
using namespace std;
using pairfortsp = pair<unique_ptr<vector<int>>, unique_ptr<int>>;
int main(int argc, char *argv[]){
unique_ptr<vector<int>> tmpptr1(new vector<int>{1});
unique_ptr<int> tmpptr2(new int(1));
unique_ptr<pairfortsp> tmpptr3(new pairfortsp(std::move(tmpptr1),std::move(tmpptr2)));
}
Да. jqGrid работает хорошо. Попробуйте демоверсии . Мы используем его вместе с ASP.NET MVC.
Обновление: В своем обновленном вопросе вы спрашивали об использовании фреймворков, таких как jQuery, с WebForms. Можешь так сделать? Конечно. Хотели бы вы? Это более сложный вопрос. В WebForms вы обычно позволяете WebForms генерировать JavaScript для вас. Вот почему у вас есть UpdatePanel и тому подобное. С одной стороны, это легко, потому что вы можете сосредоточить свое внимание на C #, и вы можете использовать компоненты сетки, которые вообще не требуют написания JavaScript, чтобы они работали. С другой стороны, вы ограничены тем, что может сгенерированный код. Да, вы можете написать JavaScript вручную, даже в WebForms, но вам нужно обойти некоторые вещи, которые делает фреймворк, например, изменение идентификаторов на элементах управления. Да, вы можете писать обработчики событий в C #, но для этого необходимо использовать обратные передачи, которые не подходят естественным образом в HTTP, с последствиями, видимыми для конечного пользователя.
Обычно jQuery используется с ASP.NET MVC в немалой степени, потому что он поставляется с рамкой. Но даже до того, как это произошло, было все еще очень распространено использовать их вместе, потому что jQuery позволяет очень легко делать вещи, которые в противном случае не поддерживаются напрямую в ASP.NET MVC, например, когда элементы управления на странице взаимодействуют друг с другом. Да, это означает, что вам нужно писать JavaScript, но пока вы в порядке с этим, вы получаете огромное преимущество, заключающееся в том, что вы можете написать любой вид взаимодействия, который хотите, без необходимости обратной передачи на сервер.
Если вы просто ищем хороший элемент управления сеткой для WebForms, тогда я бы предложил использовать элемент управления, разработанный для WebForms, а не сетку, предназначенную для jQuery. Причина в том, что код, который вы напишите, будет более естественно вписываться в идиомы WebForms.
Если вы просто хотите изучить jQuery, это действительно хорошая идея, потому что фреймворк интересный, полезный и хорошо продуманный , но я не уверен, что отличный контроль - лучшее место для старта. Лучше всего начать с визуального оформления некоторых существующих страниц.
Из вашего комментария (упоминания Крейга о jqGrid) вы либо захотите использовать jqGrid, FlexiGrid или другой вариант на стороне клиента, и подключите его самостоятельно на стороне сервера, или вам будет лучше использовать коммерческий компонент ajax grid, не основанный на jquery.
Если вы используете MVC (как упоминает Крейг), jqGrid - это довольно хорошо подходит Довольно просто связать события jqGrid с действиями контроллера JsonResult в MVC.
Клиентские фреймворки
В дополнение к jqGrid есть несколько других гридов фреймворка javascript, которыми я был недавно играл:
Flexigrid : на основе jQuery, нет Возможности редактирования пока нет, но планируется.
GridPanel Ext : Ext js is другая структура JavaScript, которая взаимодействует с jQuery.
DataTable YUI : пользователь Yahoo Интерфейс (YUI) это еще один рамки с редактируемой сеткой control.
Это все клиентские компоненты: они работают в браузере пользователя, отключенном от кода вашего сервера. Как писал Tracker1 и несколько других, вам придется либо самостоятельно написать методы Ajax, чтобы подключить клиентскую сетку к серверу, либо вы можете попытаться использовать преимущества существующих оболочек, таких как:
Опции на стороне сервера
Одна из готовящихся библиотек оболочки YUI .NET (YuiDotNet или Yui.NET). Я не думаю, что какой-либо из них еще реализует оболочку для DataTable, но они могут показать вам способ сделать это.
Соединение клиента и сервера
Если вы не работали с большим количеством Ajax или сделайте много с этими структурами javascript, будьте готовы к некоторой кривой обучения: когда вы начнете их использовать, вам нужно будет постоянно помнить, что »
Вот пример, который был выполнен с помощью WebForms:
http://praveen1305.blogspot.com/2009/05/jqgrid-with-asp-net-web-forms.html
Я нашел пример с использованием DataTable и JQgrid на http://arahuman.blogspot.com/2009/06/jqgrid-using-mvc-json-and-datatable.html
You can try out my free WebGrid DataGrid which uses JQuery and is JQuery ThemeRoller-Ready
В настоящее время я использую DataTables . Это позволяет вам создавать html-таблицу и применять фильтры для нескольких столбцов, сортировки по нескольким столбцам, разбиения на страницы и т. Д. У вас есть возможность сопоставления таблицы html на стороне клиента или получения данных из источника AJAX.
Он также имеет API для динамического добавления строк, динамического отображения столбцов и группировки.