Написал vue.js компонент для отображения/редактирования данных в таблице. Полное описание и исходники тут: cmp-table
Но хотел бы показать его в работе (Используются возможности: редактируемые поля, не редактируемые поля, доп. столбцы, группировка, сортировка, и динамические столбцы).
[Ещё]
Прошел Курс 20489: Создание продвинутых решений для Microsoft SharePoint Server 2013.
- сервис поиска,
- сервис управления содержимым,
- управление централизованной инфраструктурой,
- управление социальной нагрузкой,
- управление пользовательскими данными,
- механизмы управления веб-контентом.
[Ещё]
Заполнение шаблонов писем из элемента списка Sharepoint.
Создаем парсер:
TextBuilder textBuilder =
new TextBuilder(new SampleListItemProvider(item));
string mailTemplate =
"ItemTitle: {%Field(Title)%}" + Environment.NewLine +
"NoteFld: {%Field(NoteFld)%}" + Environment.NewLine +
"ChoiceFld: {%Field(ChoiceFld)%}" + Environment.NewLine +
"NumberFld: {%Field(NumberFld)%}" + Environment.NewLine +
"CurrencyFld: {%Field(CurrencyFld)%}" + Environment.NewLine +
"DateTimeFld: {%Field(DateTimeFld)%}" + Environment.NewLine +
"LookupFld: {%Field(LookupFld)%}" + Environment.NewLine +
"BooleanFld: {%Field(BooleanFld)%}" + Environment.NewLine +
"UserFld: {%Field(UserFld)%}" + Environment.NewLine +
"URLFld: {%Field(URLFld)%}" + Environment.NewLine +
"CustomProperty: {%CustomProperty%}" + Environment.NewLine +
"CustomMethodNoParams: {%CustomMethodNoParams%}" + Environment.NewLine +
"CustomMethodWithParams: {%CustomMethodWithParams(6,9)%}" + Environment.NewLine +
"CustomFormatProperty: {%CustomFormatProperty:dd/MM/yyyy%}";
string output = textBuilder.Parse(mailTemplate);
Результат:
ItemTitle: Hello world!
NoteFld: <div class="ExternalClass27392DF017794231B6A661BFB1A566E1"><p>Big Text<br></p><p>Note Input<br></p></div>
ChoiceFld: Вариант 2
NumberFld: 999
CurrencyFld: 123,00 ₽
DateTimeFld: 09.08.2017
LookupFld: <a href="http://***/_layouts/15/listform.aspx?PageType=4&ListId={d23e63e7-94d2-4a0a-b569-8969eeed2a25}&ID=4&RootFolder=*">Гибкость в принятии решений</a>
BooleanFld: Yes
UserFld: <span class="ms-noWrap"><span class='ms-imnSpan'><a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink ms-spimn-presenceLink' ><span class='ms-spimn-presenceWrapper ms-imnImg ms-spimn-imgSize-10x10'><img name='imnmark' class='ms-spimn-img ms-spimn-presence-disconnected-10x10x32' title='' ShowOfflinePawn='1' src='/_layouts/15/images/spimn.png?rev=23' alt='No presence information' sip='a@a.ru' id='imn_1,type=smtp'/></span></a></span><span class="ms-noWrap ms-imnSpan"><a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink' tabIndex='-1'><img name='imnmark' class='ms-hide' title='' ShowOfflinePawn='1' src='/_layouts/15/images/blank.gif?rev=23' alt='' sip='a@a.ru' id='imn_2,type=smtp'/></a><a class="ms-subtleLink" onclick="GoToLinkOrDialogNewWindow(this);return false;" href="/MatrixPoll/_layouts/15/userdisp.aspx?ID=59">Дмитрий </a></span></span>
URLFld: <a href="http://****/Lists/test/EditForm.aspx">HyperLinkSample</a>
CustomProperty: 45
CustomMethodNoParams: 1
CustomMethodWithParams: 15
Ссылка:
https://github.com/dzsoft-ru/d.SPTextBuilder
[Ещё]
Прошел курс "Шаблоны проектирования GoF. Редакция для .NET"
AbstractFactory;Adapter;Builder;ChainOfResponsibility;Command;Composite;Decorator;Enumerator;Facade;FactoryMethod;Flyweight;Interpreter;Momento;Observe;Proxy;State;Strategy;TemplateMethod;Visitor;
[Ещё]
Добавил возможность в скрипте sortable.js пересортировывать таблицу. Необходимо когда в таблицу программно вносятся изменения в данные, в этом случае сортировка перестает быть актуальной.
[Ещё]