Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

In SharePoint Lists, we can define new View and select the columns that we want to show.
I don't want to show the Title column but I also want to show the default Context Menu for the0 items on List.
How can I change the default "(linked to item with edit menu)" to another column instead of "Title" column?

share|improve this question
add comment

3 Answers

up vote 5 down vote accepted

i found the solution. it's really simple:

    SPList list = site.RootWeb.Lists["Tasks"];
    SPField field = list.Fields["Priority"];
    field.ListItemMenu = true;
    field.ListItemMenuAllowed = SPField.ListItemMenuState.Required;
    field.Update();
    list.Update();

and that's all.

share|improve this answer
    
Correction, approach with field.ListItemMenu = true; field.ListItemMenuAllowed = SPField.ListItemMenuState.Required; will work if you are using XSLT web part. MSDN –  Natalia Tsymbalenko Aug 23 '12 at 21:46
add comment

You can add these options to Field xml - LinkToItem="TRUE" LinkToItemAllowed="Required" ListItemMenu="TRUE" to display Item Context Menu.

So it looks like:

    <Field Type="Text" ID="{87AC637E-BB54-48A4-BB7A-93973F6814A1}" StaticName="Country"
 LinkToItem="TRUE" LinkToItemAllowed="Required" ListItemMenu="TRUE" ClassInfo="Menu"
 AuthoringInfo="$Resources:core,Linked_Item_With_Menu;" Name="Country" 
DisplayName="$Resources:resource,Field_Country;" Required="TRUE"
></Field>
share|improve this answer
add comment

You're not going to be able to do this without deploying a new column through a feature.

Looking at how the current title with menu column is generated:

<Field ID="{<a new guid here>}" Name="LinkTitle" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="LinkTitle" Group="$Resources:core,Base_Columns;" ReadOnly="TRUE" Type="Computed" DisplayName="$Resources:core,Title;" DisplayNameSrcField="Title" ClassInfo="Menu" AuthoringInfo="$Resources:core,Linked_Item_With_Menu;">

    <FieldRefs>
        <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" />
        <FieldRef ID="{bc91a437-52e7-49e1-8c4e-4698904b2b6d}" Name="LinkTitleNoMenu" />
        <FieldRef ID="{1344423c-c7f9-4134-88e4-ad842e2d723c}" Name="_EditMenuTableStart2" />
        <FieldRef ID="{2ea78cef-1bf9-4019-960a-02c41636cb47}" Name="_EditMenuTableEnd"/>
    </FieldRefs>

    <DisplayPattern>
        <FieldSwitch>
            <Expr>
                <GetVar Name="FreeForm" />
            </Expr>
            <Case Value="TRUE">
                <Field Name="LinkTitleNoMenu" />
            </Case>
            <Default>
                <Field Name="_EditMenuTableStart2" />
                <Field Name="LinkTitleNoMenu" />
                <Field Name="_EditMenuTableEnd" />
            </Default>
        </FieldSwitch>
    </DisplayPattern>
</Field>

Then it looks like you might get away with changing the references to LinkTitleNoMenu to the internal name of the field you want to show. However, you must make sure that the column you reference to is also a Site Column.

Do also ensure you change the static and display names of the column (replacing out 'LinkTitle' with something new of your choosing).

share|improve this answer
    
thanks again for reply. im gonna test it. –  Jalali Shakib Jul 27 '11 at 4:54
    
so im gonna create new feature with visual studio 2010 and add this tag with my custom field name into feature XML file and deploy the empty SharePoint template and it's done and if i wanna remove this column or field just retract the solution. am i right? –  Jalali Shakib Jul 27 '11 at 5:09
    
Yes, though if you use the site column in a list or a content type, it won't be removed when you retract the solution. –  James Love Jul 27 '11 at 7:15
    
first i wanna to know you did this before? because i test this and came up to one important note and it's: you can not define field with type "Computed", not with the object model(not gonna change) and not with sharepoint itself, if by any chance you do this, your field not gonna appear in sharepoint. i created a field and it's XMLSchema was just look like the "Title" field except the "Id", static and display names and it's type was anything except the "Computed". but the Context Menu doesn't appear. –  Jalali Shakib Jul 27 '11 at 10:52
1  
I haven't done this myself before, no, but that expert I pasted above was taken directly from SharePoint Manager, with just the GUIDs removed. From MSDN: "Computed Specifies a field that depends on another field for its contents. For example, a LinkTitleNoMenu field amounts to surrounding a Title field value with a hyperlink. Represented by the SPFieldComputed class." - msdn.microsoft.com/en-us/library/ms437580.aspx –  James Love Jul 27 '11 at 11:00
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.