SharePointリストに問題があります。表示フォーム、新規アイテムフォーム、およびリスト設定ページに2回表示されるフィールドもあります。どちらのフィールドも同じIDと同じプロパティページ(同じURL)を持っているため、一方を隠すと他方が隠れます。
使用するSharePoint Managerフィールドは1つしか表示されませんが、間違った場所を見たことがありますか? 誰かが似たような経験をしたことがありますか?この問題を解決するにはどうすればよいですか?Sharepoint - 表示/新規アイテムにフィールドが2回表示される
答えて
コンテンツタイプを作成するXMLを更新することは賢明ではありません。後でコンテンツタイプにフィールドを追加する場合は、新しい機能を使用してください(このリンクを参照)。あなたがインストールされて、そのコンテンツタイプをアクティブ化した後
注いかなる状況下では、次のテキスト
あなたはコンテンツタイプのコンテンツタイプ定義ファイルを更新する必要があります。 Windows SharePoint Servicesは、コンテンツタイプ定義ファイルの変更を追跡しません。したがって、サイトコンテンツタイプの変更を子コンテンツタイプにプッシュダウンする方法はありません。 インストールおよびアクティブ化されているコンテンツタイプを変更する際のベストプラクティスについては、「コンテンツタイプの更新」を参照してください。
Yepp、リストに追加されたコンテンツタイプで問題が発生しました。私がcontenttypesの更新を何とかしたら、私は時には重複してしまった。私がそれらを見たとき、彼らは同じIDと名前のようですが、IDは実際に異なっています。
コンテンツタイプのフィールドリンクを、コンテンツタイプを含む実際のxmlファイル(フィーチャー)のフィールドリンクと比較することが、私が使用したソリューションです(少なくともコンテンツタイプで動作します)。同じ数のフィールドリンクでない場合は、重複を削除するアクションを実行します。
こんにちはヨハン、ありがとう!あなたは絶対に正しいです、btw、これは、フィーチャーによってリストに追加されたコンテンツタイプです(しかし、私のものではありません)。これらのフィールドリンクはどこにありますか?それは計画的に行われていますか? – Kobi
あなたがそれらを知っていれば私は
私はリスト定義で列を追加した後、新しい/編集/表示項目フォームに2回表示されます。リストの設定で列の順序を変更しただけで問題は解決しました。
面白い回避策、ありがとう。私は実際にSharePointのいくつかの問題を正確に解決することができることを知っている... – Kobi
使用dublicatesをきれいにするために、このPowerShellスクリプト:
Clear-Host
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
[System.Reflection.Assembly]::Load("Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c")
$web=Get-SPWeb "http://weburl.here"
function cleanFieldLinks($listName){
$list = $web.GetList($listName)
$ct = $list.ContentTypes[0];
$flDub = $ct.FieldLinks | group-object DisplayName | where { $_.Count -gt 1 }
foreach($fl in $flDub) {
$skipFirst = $fl.Group | select-object -skip 1
foreach($flDel in $skipFirst){
$ct.FieldLinks.Delete($flDel.Id)
}
}
$ct.Update()
}
cleanFieldLinks("lists/listurl")
$web.Dispose()
1)まず、私は私がMOSS 2013 MOSSとの互換性が私のMOSS 2007ソリューションパッケージを作るに向けて取り組んでいたとして、私はこの問題に出くわしたことを言及したかったです2013年は重複するフィールド名が好きではないようです。したがって、MOSS 2013に付属するフィールドと同じ名前のカスタムフィールドがある場合は、重複するフィールド名にエラーが見つかりました。
2)これにより、私はカスタムフィールドとコンテンツタイプを更新して更新する必要がありました。私は、フィールド名の重複を引き起こしていたカスタムフィールドを変更した後に、フィールド名が複数回現れているという問題を発見しました。
3)ビュー、新規、編集フォームにフィールドが複数回表示される問題を解決するために、Webフォームページを作成しました。確認したいリストを指定するためにコードを変更するだけです。このバージョンでは、フィールドリファレンスの最初のインスタンスが削除され、2番目のインスタンスが保持されます。
using System;
using System.Collections;
using System.Configuration;
using System.Data;
//using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
//using System.Xml.Linq;
using Microsoft.SharePoint;
using System.Text;
using System.Collections.Generic;
public partial class FixDuplicateFieldIssue : Microsoft.SharePoint.WebControls.LayoutsPageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (SPContext.Current.Web.CurrentUser == null)
{
Response.Write("You must be logged in to view this page.");
Response.End();
return;
}
if (!SPContext.Current.Web.DoesUserHavePermissions(SPBasePermissions.ManageWeb))
{
Response.Write("You do not have permissions to view this page.");
Response.End();
return;
}
lblOutput.Text = "";
StringBuilder sbOutput = new StringBuilder();
using (SPSite site = new SPSite(SPContext.Current.Site.ID))
{
using (SPWeb web = site.OpenWeb(SPContext.Current.Web.ID))
{
try
{
hlBack.NavigateUrl = web.Url;
//open the List **** SPECIFY THE LISTNAME HERE ***
SPList spList = web.Lists["LISTNAME"];
if (spList != null)
{
//Check FieldLinks
sbOutput.Append("<table border='1'>");
foreach (SPContentType ct in spList.ContentTypes)
{
sbOutput.Append("<tr>");
sbOutput.Append("<td>" + ct.Name + "</td>");
sbOutput.Append("<td>");
Dictionary<string, Guid> GuidDictionary = new Dictionary<String, Guid>();
List<Guid> RepeatList = new List<Guid>();
//SEARCH THE CONTENT TYPE FOR REPEAT SPFieldLinks
foreach (SPFieldLink spfl in ct.FieldLinks)
{
if (!GuidDictionary.ContainsKey(spfl.Name.ToLower()))
{
GuidDictionary.Add(spfl.Name.ToLower(), spfl.Id);
}
else if (GuidDictionary[spfl.Name.ToLower()].ToString().ToLower()!=spfl.Id.ToString().ToLower())
{
//Record the GUID of the repeat SPFieldLink you want to delete in the RepeatList. In this case, we're recording the first item. If you want to delete the second one, add the spfl.Id instead.
RepeatList.Add(GuidDictionary[spfl.Name.ToLower()]);
sbOutput.Append("<span style='color:red;'>*</span>");
}
sbOutput.Append(spfl.Name + "," + spfl.Id + "," + spfl.DisplayName +"<br />");
}
sbOutput.Append("</td>");
sbOutput.Append("<td>");
sbOutput.Append("Repeats found: " + RepeatList.Count + "<br />");
//DELETE THE Repeat Field Links
foreach (Guid idToDelete in RepeatList)
{
sbOutput.Append("Deleting FieldRef with ID= " + idToDelete.ToString() + "<br />");
web.AllowUnsafeUpdates = true;
ct.FieldLinks.Delete(idToDelete);
ct.Update();
web.AllowUnsafeUpdates = false;
}
sbOutput.Append("</td>");
sbOutput.Append("</tr>");
}
sbOutput.Append("</table>");
}
}
catch (Exception ex)
{
sbOutput.Append("Error Occurred: " + ex.ToString());
}
}
}
lblOutput.Text = sbOutput.ToString();
}
}
これはちょうどクレイジーな男、fu * k Micro $ oft – krtek
- 1. xValエラーメッセージが2回表示される
- 2. C#MessageBoxが2回表示される
- 3. Winformが2回表示される
- 4. コレクションビューのアイテムは、デバイスローテーション後に2回表示されます。
- 5. Xamarinフォームの表示アラートポップアップが2回表示されます
- 6. IEで2回表示されるdiv
- 7. Chromeで表のヘッダーが2回表示される
- 8. データベーステーブルに2回表示されるアイテムを取得するLINQクエリ?
- 9. アイテムがリストビューに表示されない
- 10. JSplitPaneにアイテムが表示されない
- 11. SharePoint DataView先週のアイテムを表示
- 12. SharePointコンテンツタイプが表示されません
- 13. extJs表示フィールドに画像が表示されない
- 14. 新しいディスカッションがディスカッション掲示板に表示されない - Sharepoint
- 15. phpMyAdmin: "表示するフィールドを選択"が表示されない
- 16. 入力後にJavaメニューが2回表示される
- 17. rails:フラッシュメッセージが2回表示されないようにする
- 18. ワンクリックでフォームにデータが2回表示される
- 19. p:p:commandButtonを2回クリックした後にダイアログが表示される
- 20. 拡大表示された最初のアイテムが表示されているRecyclerView
- 21. SharePointアラートメールのフィールドを非表示
- 22. スケジュールされたタスクが2回表示されます
- 23. 角キーストップイベントが毎回表示される
- 24. UIToolbarのアイテムが表示されない
- 25. Inapp-purchaseアイテムが表示されない
- 26. EditForm.aspxとnewForm.aspxにSharePoint 2010計算フィールドが表示される理由
- 27. セルをクリックするとViewControllerが2回表示される
- 28. Pywinautoをインポートするとデバッグメッセージが2回表示される
- 29. キャンバスオーバーレイがページ上で2回拡大表示された後に消えて表示される
- 30. フォームパネルの非表示フィールドが正しく表示されない
問題は生産上に存在し、実際のデータがありました。新しい列を作成し、その列にデータをコピーし、複製された列を削除しました。ですから、あなたの解決策は私たちがやったことです。 :-) – Kobi