none
Видимость кастомного поля типа Text RRS feed

  • Вопрос

  • Здравствуйте! Создал кастомное поле типа Text. Оно создалось и все с ним хорошо.

    Далее в любом другом списке я хочу  сделать поле подстановки на созданный кастомный филд....но оно там не отображается...я думаю многие с этим сталкивались...поэтому прошу что нибудь посоветовать)

    Спасибо! 

    15 декабря 2015 г. 10:49

Ответы

  • Добрый день,

    провел маленький research, вот исходный код проверки на тип поля подстановки:

    if (field.Type == SPFieldType.Counter ||
        field.Type == SPFieldType.Text ||
       (field.Type == SPFieldType.Number || field.Type == SPFieldType.DateTime) ||
       (field.Type == SPFieldType.Computed && ((SPFieldComputed) field).EnableLookup || field.Type == SPFieldType.Calculated && ((SPFieldCalculated) field).OutputType == SPFieldType.Text))

    Столбцом подстановки может быть только:

    1. Столбец типа counter (ID элементов)
    2. Однострочный текст
    3. Числовой столбец
    4. Столбец дата-время
    5. Столбец Computed (абстрактный тип)
    6. Вычисляемый (Calculated), если возвращаемый результат типа однострочный текст.

    Так что НЕЛЬЗЯ использовать custom field type как поле подстановки!


    • Изменено Maxim Shusharin 16 декабря 2015 г. 3:59
    • Предложено в качестве ответа Maxim Shusharin 16 декабря 2015 г. 4:01
    • Помечено в качестве ответа Kadackiy Dmitriy 16 декабря 2015 г. 11:32
    16 декабря 2015 г. 3:59

Все ответы

  • Добрый день,

    кастомное поле - в Visual Studio? Если так, то покажите его Definition.

    15 декабря 2015 г. 11:12
  • <FieldTypes>
    	<FieldType>
    		<Field Name="TypeName">Product Code</Field>
    		<Field Name="ParentType">Text</Field>
    		<Field Name="TypeDisplayName">Product Code TEST</Field>
    		<Field Name="TypeShortDescription">Product Code TEST</Field>
    		<Field Name="UserCreatable">TRUE</Field>
        <Field Name="AllowBaseTypeRendering">TRUE</Field>
    		<Field Name="FieldTypeClass">CustomFieldTypes.ProductCode, $SharePoint.Project.AssemblyFullName$</Field>
    	
      </FieldType>
      
    </FieldTypes>

    15 декабря 2015 г. 11:29
  • Добрый день,

    провел маленький research, вот исходный код проверки на тип поля подстановки:

    if (field.Type == SPFieldType.Counter ||
        field.Type == SPFieldType.Text ||
       (field.Type == SPFieldType.Number || field.Type == SPFieldType.DateTime) ||
       (field.Type == SPFieldType.Computed && ((SPFieldComputed) field).EnableLookup || field.Type == SPFieldType.Calculated && ((SPFieldCalculated) field).OutputType == SPFieldType.Text))

    Столбцом подстановки может быть только:

    1. Столбец типа counter (ID элементов)
    2. Однострочный текст
    3. Числовой столбец
    4. Столбец дата-время
    5. Столбец Computed (абстрактный тип)
    6. Вычисляемый (Calculated), если возвращаемый результат типа однострочный текст.

    Так что НЕЛЬЗЯ использовать custom field type как поле подстановки!


    • Изменено Maxim Shusharin 16 декабря 2015 г. 3:59
    • Предложено в качестве ответа Maxim Shusharin 16 декабря 2015 г. 4:01
    • Помечено в качестве ответа Kadackiy Dmitriy 16 декабря 2015 г. 11:32
    16 декабря 2015 г. 3:59
  • И при попытке программно (OM, PS) добавить custom field в список получим exception.
    16 декабря 2015 г. 4:10
  • Добрый день,

    провел маленький research, вот исходный код проверки на тип поля подстановки:

    if (field.Type == SPFieldType.Counter ||
        field.Type == SPFieldType.Text ||
       (field.Type == SPFieldType.Number || field.Type == SPFieldType.DateTime) ||
       (field.Type == SPFieldType.Computed && ((SPFieldComputed) field).EnableLookup || field.Type == SPFieldType.Calculated && ((SPFieldCalculated) field).OutputType == SPFieldType.Text))

    Столбцом подстановки может быть только:

    1. Столбец типа counter (ID элементов)
    2. Однострочный текст
    3. Числовой столбец
    4. Столбец дата-время
    5. Столбец Computed (абстрактный тип)
    6. Вычисляемый (Calculated), если возвращаемый результат типа однострочный текст.

    Так что НЕЛЬЗЯ использовать custom field type как поле подстановки!


    Вот блин....вот я просто никак не могу понять почему? когда создается кастомное поле типа текст оно наследуется от SPFieldText - посути как не крути получится поле однострочный текст....так почему он не подхватывает....потому что в моем случае тип поля ProductCode( он же наследник SPFieldText) ...он тот же однострочный текст....получается как то не расширяемо

    Вот я просто хотел создать простое однострочное поле...только со своей валидацией + еще может что....и что теперь? Как быть разработчикам в этом случае?


    16 декабря 2015 г. 9:43
  • Но зато ваш столбец может тянуть данные из другого списка и рендерить их в нужном вам виде, валидировать, что хотите с ними делайте... Т.е. можно сделать эмуляцию столбца подстановки в custom field и его добавить в нужный список.
    16 декабря 2015 г. 10:39
  • А все настройки - куда столбцу обращаться, какие данные запрашивать (хоть CAML там пишите) - сделать в настройках столбца.

    Готово! Я бы сделал так.

    16 декабря 2015 г. 10:41
  • Да...так то оно так...но вот уже заюзать его(свое кастомное текстовое поле) в стандартном поле подстановки не получится((

    Ну вот пример я допустим к кастомному полю прикручу select2  и вуаля у меня визуализация и данные будут подтягиваться(ajax-ом) из справочника - клево. настройки вкрючу. - пользак радуется.

    А теперь я хочу данные получать из этого столбца в другом списке (через лукап поле)...и что? вот и встал на коленки...и нужно что то еще разрабатывать чтобы от туда вынуть...хреново.

    Можно конечно же создать hidden поле и туда записывать...но все это уже на костыли похоже...

    Короче лучше в шарике наверное для каждого сайта создавать свои столбцы ...дорого это правда

    16 декабря 2015 г. 11:32
  • Свои столбцы не дорого, нет разницы сколько их там у вас будет.

    16 декабря 2015 г. 11:39
  • спасибо)
    16 декабря 2015 г. 11:53