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>

width=402px の 2 番目のケース フォームで開くために必要なことを理解できません。

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 に答える