これは救済の質問だと思いますが、私は数日間戦っています..だから許してください. SharePoint 2010 で作業しており、ガント ビューにタスク リストがあります。リストには 6 つの列とガント チャートがあります。これらのタスクは、Microsoft Project 2010 と同期 (作成) されます。SharePoint では列幅が固定されていないため、列 2 (タイトル) の既定の幅を 450px にしたいと思います (十分に単純なはずですよね?)。CEWP を使用して多くの jquery オプションを試し、この列幅を設定しようとしました。これは見た目よりも簡単だと思いました…誰かが私がどこで軌道から外れているかを判断するのを手伝ってくれますか? ブラウザが使えなくなるまでインターネットを探しました...どんな助けでも大歓迎です。
私が試したオプション: どれも機能していないようです... ライブラリのテキスト ファイル (CEWP にリンクされています) にそれらがあります。スクリプトは実行されています。分割位置とズーム レベルを設定できるためです...桁。
オプション1
<script type="text/javascript">
$(function(){
$("TH.ms-vh2-nograd:contains('Title')").css("width", "450px");
$("TH.ms-vb:contains('Title')").css("width", "450px"); });
</script>
オプション #2
<script type="text/javascript">
$(function()
{
$("tr.ms-viewheadertr th:contains('Title')").css("width", "450px");
});
</script>
オプション #3
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(function()
{
var oldGanttControl = SP.GanttControl;
SP.GanttControl = function()
{
oldGanttControl.call(this);
var oldInit = this.Init;
this.Init = function(jsGridControl, jsRawGridData, params)
{
oldInit.call(this, jsGridControl, jsRawGridData, params);
DoCustomizations(jsGridControl);
};
};
},"SPGantt.js");
Function DoCustomizations(grid)
{
var columns = grid.GetColumns();
$.each(columns, function(key, value) {
value.width=450;});
grid.UpdateColumns(grid.parentNode.jsgridtableviewparams.columns);
}
</script>
動作するコードはこちらです。しかし、列幅を解決できません。
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(function()
{
var oldGanttControl = SP.GanttControl;
SP.GanttControl = function()
{
oldGanttControl.call(this);
var oldInit = this.Init;
this.Init = function(jsGridControl, jsRawGridData, params)
{
oldInit.call(this, jsGridControl, jsRawGridData, params);
DoCustomizations(jsGridControl);
};
};
},"SPGantt.js");
function DoCustomizations(grid)
{
// Set the Splitter and Zoom Levels
grid.SetSplitterPosition(725);
grid.SetGanttZoomLevel(grid.GetGanttZoomLevel()+2);
}
</script>
回答 #1/更新 3 の結果
昨日、この問題を解決しようと決心しましたが、残念ながら....関数を適切に機能させるために結果を出さなかったのです。検索、読み、調査しましたが、役に立ちませんでした。セレクター ステートメントの構文はさまざまであるように思われるため、CEWP に構文エラーがあるのか、それとも生成関数のレンダリングに問題があるのかはわかりません。私が試したいくつかのバリエーション:
$('th[title="Title"]').css("width", "450px","important");
$('th[title="Title"]').css("width", "450px", "important");
$('th[title="Title"]').css('width', '450px', 'important');
$('th [title="Title"]').css("width", "450px", "important");
$("th [title='Title']").css("width", "450px", "important");
何度も何度も....だから、あといくつか質問があると思うので、嘘をつく必要があります...
1) 適切な JavaScript ソース ライブラリを参照していない可能性はありますか? スクリプトは、参照するライブラリや使用するコードに関係なく、エラーや構文の問題を示しませんが、どちらも機能しません。現在、私はこれを参照しています....
<script src="http://code.jquery.com/jquery-latest.js"></script>
2) SharePoint CEWP は何らかの形で JQuery 編集に干渉しますか? 私は別の投稿を読みました(再び見つけることはできません)。編集が行われる前にページが完全にレンダリングされなかった場所????
アップデート4情報
ロジックを以下のように変更して確認しました....違いはありません
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function()
{
$(document).ready(function() {
//Get the th that has a title attribute and it contains the value Title
$('th[title="Title"]').css("width", "450px","important");
});
});
</script>