我觉得这是一个补救问题,但我已经战斗了好几天了……所以请原谅我。我在 SharePoint 2010 中工作,并且在甘特视图中有一个任务列表。该列表有 6 列加上甘特图。这些任务与 Microsoft Project 2010 同步(创建)。由于列宽在 SharePoint 中不是持久的,我希望第 2 列(标题)的默认宽度为 450 像素(应该足够简单......对吗?)。我使用 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>