powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / SharePoint [игнор отключен] [закрыт для гостей] / Sharepoint Lookup Field
2 сообщений из 2, страница 1 из 1
Sharepoint Lookup Field
    #35885673
Kipetcoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я создаю кустомное поле в sharepoint.. Изначально проект взял отсюда http://blog.12thwave.com/?p=7

Поменял базовый класс на SPFieldLookup
Поменял св-во Value на


public override object Value
{
get
{
EnsureChildControls();
SPFieldLookupValue returnValue = new SPFieldLookupValue(Convert.ToInt32(CascadingDropDownList.SelectedItem.Value), CascadingDropDownList.SelectedItem.Text);
return returnValue;
}
set
{
EnsureChildControls();
string lookupValue = Convert.ToString(value), strValue = string.Empty;
if (lookupValue.IndexOf('#') > 0)
strValue = lookupValue.Substring(0, lookupValue.IndexOf('#') - 1);
else
strValue = lookupValue;
if (!string.IsNullOrEmpty(strValue) && CascadingDropDownList.Items.FindByValue(strValue) != null)
CascadingDropDownList.Items.FindByValue(strValue).Selected = true;
else if (!this.Field.Required)
CascadingDropDownList.SelectedIndex = 0;
}
}
Поменял определение поля на
<?xml version="1.0" encoding="utf-8"?>
<FieldTypes>
  <FieldType>
    <Field Name="TypeName">Cascading Drop Down List</Field>
    <Field Name="TypeDisplayName">Cascading Drop Down List</Field>
    <Field Name="TypeShortDescription">Cascading Drop Down List</Field>
    <Field Name="InternalType">Lookup</Field>
    <Field Name="SQLType">int</Field>
    <Field Name="ParentType">Lookup</Field>
    <Field Name="FieldTypeClass">CascadeDropDown.CascadingDropDownListField, CascadeDropDown, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=9ba647c4a4416404</Field>
    <Field Name="FieldEditorUserControl">/_controltemplates/CascadingDropDownListFieldEditControl.ascx</Field>
    <Field Name="Sortable">TRUE</Field>
    <Field Name="Filterable">TRUE</Field> 
..
.
.
 <RenderPattern Name="DisplayPattern">
      <FieldSwitch>
        <Expr>
          <Property Select="FieldRef"/>
        </Expr>
        <Case Value="">
          <FieldSwitch>
            <Expr>
              <Property Select="CountRelated"/>
            </Expr>
            <Case Value="TRUE">
              <LookupColumn HTMLEncode="TRUE"/>
            </Case>
            <Default>
              <Switch>
                <Expr>
                  <Column/>
                </Expr>
                <Case Value="">
                </Case>
                <Default>
                  <FieldSwitch>
                    <Expr>
                      <Property Select="LookupType"/>
                    </Expr>
                    <Case Value="Computed">
                      <LookupColumn/>
                    </Case>
                    <Default>
                      <HTML><![CDATA[<A HREF="]]></HTML>
                      <URL Cmd="Lookup"/>
                      <HTML><![CDATA[">]]></HTML>
                      <LookupColumn HTMLEncode="TRUE"/>
                      <HTML><![CDATA[</A>]]></HTML>
                    </Default>
                  </FieldSwitch>
                </Default>
              </Switch>
            </Default>
          </FieldSwitch>
        </Case>
        <Default>
          <LookupColumn HTMLEncode="TRUE"/>
        </Default>
      </FieldSwitch>
    </RenderPattern>
  </FieldType>
</FieldTypes>
Задал в классе филда св-во
public override Type FieldValueType
        {
            get { return typeof(SPFieldLookupValue); }
        }

Все вроде отлично работает..добавляется как положено НО...
Почему то значения в длукапных полях получаются 2;#2 , 4;#4.. Что за ерунда.. При том что св-во Value создает правильные значения.. Т.е. new SPFieldLookupValue( 2,"Avenir IT"). И переходит по лукапам тоже правильно.. Я уже недели 2 не могу разобраться с этой проблемой. Идеи,терпение,сроки вышли. Помогите пожалуйста разобраться.. Я проект выложил http://files.mail.ru/AG6CL7 Вам думаю тоже такая фишка может пригодиться.
...
Рейтинг: 0 / 0
Sharepoint Lookup Field
    #35887655
Kipetcoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вощем разобрался я с этой проблемой. Все я правильно делал. Просто нужно было правильно указать св-ва LookupList и LookupField ..я присвоил св-ву LookupField колонку ID. Просто я забыл что эти св-ва устанавливаются после задания св-тв филда. Это меня с толку сбило и все мои эксперименты были вокруг да около одного и того же.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / SharePoint [игнор отключен] [закрыт для гостей] / Sharepoint Lookup Field
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]