كيف يمكنني الحصول على معرف عنصر ListView المتصل؟
-
10-12-2019 - |
سؤال
لدي ثلاثة أجزاء ويب ListView متصلة في صفحة تطبيق، وأريد أن أكون قادرا على الوصول إلى العنصر المحدد في كل جزء ويب.لم يتم تحديد هذا كما هو الحال في "خانات الاختيار" ولكن بدلا من ذلك، فإن العنصر المتصل الذي يمر قيمة المرشح إلى جزء ويب التالي.لقد حاولت giveacodicetagpre.
وتقريبا كل ملكية أخرى من جزء الويب الخاص بي.هل لا توجد طريقة للحصول على معرف العنصر الذي يتم توصيله؟
المحلول
I created three web parts connected together and filterable using Title:
Choose a color -> Choose a fruit -> View fruit details.
I created the following selector (jQuery required):
$('img[alt="Selected"]').parent().next().children('div.ms-vb');
Which returns an array of the selected elements which have an ID attribute. You could then do a simple each and do the work you want with each ID.
$('img[alt="Selected"]').parent().next().children('div.ms-vb').each(function(i){
console.log($(this).attr('id'));
});
// will give you:
// 3 (Blue)
// 2 (Blueberry)
Shows up like this in Chrome console:
I think this will work as long as the you use the Title (linked to item) column in the web parts.
نصائح أخرى
If you use JSLink instead, I think you can connect to the items in the ListView Web Part like this:
- In a location of your choice (such as SiteAssets library of your site, or in _catalogs/masterpage), create new JavaScript file.
- In the file, add the code below
- In your web part, reference this JavaScript file in the JSLink setting, like ~/site/SiteAssets/news_ui.js
(function () {
// Initialize the variables for overrides objects
var overrideCtx = {};
overrideCtx.Templates = {};
overrideCtx.Templates.Fields = {
'ID': { 'ItemID' : ctx.CurrentItem.ID }
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);
})();
Reference: