0

SharePoint で Gridview コントロールを使用しています。私はGridviewの列名にデータをバインドしています。そして今、列名の行を直接クリックしたいのですが、プログラムはこの行の詳細ポップアップウィンドウを表示します。ありがとう !

4

2 に答える 2

0

私があなたのことを正しく理解しているかどうかはわかりませんが、ModalDialog を開いてカスタム .aspx ページに移動し、情報を表示してみてください。

http://sqldev-samir.blogspot.de/2012/08/open-modal-dialog-in-serverside-code-in.html

于 2012-11-23T11:09:19.380 に答える
0

詳細を含むページ (この例では editform.aspx) を指すダイアログ ボックスを開くクライアント側コードを次に示します。このコードはポストバックも発生させるため、ユーザーが EditForm.aspx で行った変更でグリッドが更新されます。

function CloseCallback(result, target)
{
    eval(<%=Page.ClientScript.GetPostBackEventReference(new PostBackOptions(Button1))%>);    
}
function OpenDialog(url)
{ 
    var options = {
        url: url,
        title: '',
        allowMaximize: true,
        showClose: true,
        width: 700,
        height: 800,
        dialogReturnValueCallback: CloseCallback
    };

    var dlg = SP.UI.ModalDialog.showModalDialog(options);

}

次に、ハイパーリンク列をグリッドに追加するサーバー側コードを示します (これは SPGridView サーバー コントロールではなく RadGrid になります)。この列には、上記の JavaScript 関数を指すハイパーリンクが表示され、クリックすると、選択した行項目のデータを含む EditForm.aspx が開きます。

GridColumn fldEditLink = new GridHyperLinkColumn() { UniqueName = "Edit", Text = "Edit/View",DataNavigateUrlFields = new string[] { "ID" }, DataNavigateUrlFormatString =String.Format("javascript:OpenDialog('{0}/Lists/Events/EditForm.aspx?ID={{0}}');", web.Url) };
于 2012-11-24T02:36:59.610 に答える