【问题标题】:How to modify width of standart dialog form sharepoint 2010如何修改标准对话框表单sharepoint 2010的宽度
【发布时间】:2012-07-09 13:37:38
【问题描述】:

请帮帮我!

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

如果我点击添加元素的功能区按钮,打开的表单宽度=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;}

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

如果有任何帮助,我将不胜感激!

【问题讨论】:

    标签: css sharepoint styles modal-dialog list-definition


    【解决方案1】:

    模态对话框 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-modaldialog/

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 谢谢你,亨利克!最后一个建议有效,但这种风格用于所有对话框形式,在我的情况下是不可接受的。如果我发现,我可以只为这个表单覆盖这个 css 类,那就太棒了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      • 2012-09-13
      • 2012-02-08
      相关资源
      最近更新 更多