1

请帮我!

我需要修改标准对话框表单的宽度以将元素添加到库中。

如果我单击功能区按钮以添加元素,则以宽度 = 402px 打开的表单:

<div class="ms-dlgContent" role="dialog" aria-labelledby="dialogTitleSpan"  tabindex="-1" style="z-index: 1505; display: block; width: 402px; height: 294px; left: 430px; top: 104px; "></div>

如果我单击当前库的所有元素下的按钮,则以宽度 = 1032px 打开的表单:

<div class="ms-dlgContent" role="dialog" aria-labelledby="dialogTitleSpan" tabindex="-1" style="z-index: 1505; display: block; width: 1032px; height: 267px; left: 115px; top: 273px; "></div>

我不明白,在宽度= 402px的第二种情况下打开我需要做什么。

也许需要在 Upload.aspx 中输入一些代码?(此表单自动生成)我猜,此页面为创建新元素而打开,因为我的列表定义的 schema.xml 包含以下代码:

<Forms>
  <Form Type="DisplayForm" SetupPath="pages\form.aspx" Url="Forms/DispForm.aspx" WebPartZoneID="Main" />
  <Form Type="EditForm" SetupPath="pages\form.aspx" Url="Forms/EditForm.aspx" WebPartZoneID="Main" />
  <Form Type="NewForm" Url="Forms/Upload.aspx" WebPartZoneID="Main" />
</Forms>

但是如果修改 Upload.aspx 的这一部分(添加 .ms-dglContent 类),它对我没有帮助:

<asp:Content ContentPlaceHolderId="PlaceHolderBodyAreaClass" runat="server">
<style type="text/css">
.ms-bodyareaframe {
   padding: 8px;
   border: none;
}
.ms-dglContent {
   width:402px!important;
}
</style>
</asp:Content>

如果我修改 css 文件:

.ms-dglContent {width:402px!important;}

它修改了所有对话框形式,但在我的情况下是不可接受的。

我将不胜感激任何尝试提供帮助!

4

2 回答 2

2

模态对话框 div 动态放置到 DOM 中。如果要修改对话框尺寸,请尝试查找类似 SP.UI.ModalDialog 的调用...

var dialogCallbackToMainSite = function (dialogResult, returnValue) {

    if(returnValue == 'someValue') {
    }
};

var option = {
    url:record.data.url,
    title:'Task',
    allowMaximize:false,
    showClose:false,
    autoSize:false,

    width: 800,
    height: 600,

    dialogReturnValueCallback:dialogCallbackToMainSite
};

SP.UI.ModalDialog.showModalDialog(option);

顺便说一句,如果您需要在带页面滚动的情况下垂直居中对话框并且它的静态位置被禁用,请遵循此解决方案http://generation12.wordpress.com/2011/10/25/floating-the-sp-ui-模态对话框/

于 2012-10-27T11:35:03.587 回答
0

我不习惯在 Sharepoint 中工作,但在我看来,触发要显示的对话框的函数以某种方式在测量变量上提供了不同的值,所以是的,您可能需要在某处更改代码。尝试在整个解决方案中搜索“1032” - 也许宽度测量值已分配给某处的变量。

如果您希望两个对话框看起来相同并且找不到它们的测量值(不过,我强烈建议您先尝试),您可以使用 !important 覆盖内联样式,就像这样:

.ms-dglContent {width:402px!important;}
于 2012-07-09T15:16:04.677 回答