Avatar billede sbaht Nybegynder
29. marts 2006 - 07:43 Der er 18 kommentarer og
1 løsning

Printvenlig side!!

Jeg skal efter at have læst data ind i et datagrid lave et link til en såkaldt "printvenlig side", jeg er ikke helt skarp på hvordan det gribes an.
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 08:01 #1
hvad er det som skal laves til printer venlig ?

Er det indeholdet i datagridet eller er det fordi nogle knapper og lignende skal være usynlige?
Avatar billede sbaht Nybegynder
29. marts 2006 - 08:12 #2
Det er sådan set begge dele, men det vigtigste er indholdet i datagridet som skal  printes fornuftigt ud.
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 08:18 #3
skal det printes ud som det står eller ?
Avatar billede sbaht Nybegynder
29. marts 2006 - 08:33 #4
Ja det skal printes som det står i datagridet.
Avatar billede sbaht Nybegynder
29. marts 2006 - 13:55 #5
Er der slet ikke nogen der kan hjælpe?? :-(
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 14:00 #6
jo vil meget gerne men har lidt travlt desværre
Men prøv lige at paste koden til din aspx side.
Avatar billede sbaht Nybegynder
29. marts 2006 - 14:19 #7
Ok tak, det jo en helt iorden at have travlt.. Koden til aspx siden ser således ud:

private void Button1_Click(object sender, System.EventArgs e)
        {
            if (!(IsPostBack))
            {
                return;
            }
            string strConnection;                       
            string Sql = "SELECT * FROM dbo.Data WHERE Kontrol=@Kontrol AND Dato >= '"+ DateTime.Now.AddHours(-30) +"' ORDER BY Dato ASC";
           
            strConnection = "user id=User;password=XXXXX;";
            strConnection += "initial catalog=log;server= NYsql;";
           
            SqlConnection conn = new SqlConnection( strConnection );
            SqlCommand cmd = new SqlCommand( Sql, conn );
            cmd.Parameters.Add( new SqlParameter( "@Kontrol", DropDownList1.SelectedValue ));
                       
            DataSet ds = new DataSet();
            SqlDataAdapter adpt = new SqlDataAdapter( cmd );
            cmd.Connection.Open();

            try
            {
                adpt.Fill( ds );
            }
            finally
            {
                cmd.Connection.Close();
            }

            DataGrid1.DataSource = ds;
            DataGrid1.DataBind();
        }
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 18:06 #8
jeg skal bruge din aspx side og ikke din codebehind.

Men du kan gøre noget i denne stil:
script type="text/javascript">
function PrintThisPage()
{
    var sWinHTML = document.getElementById('ctl00_tblContent').innerHTML;
 
  var winprint=window.open("",null,"width=670,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,left=0,top=0");
      winprint.document.open();
      winprint.document.write('<html><LINK rel="stylesheet" type="text/css" href="../Style/style.css" /><body class="content">');
      //skriv printer link
      winprint.document.write('<div id="Div1" align=right><a href=# onclick=window.print()>Udskriv side</a></div>');
      winprint.document.write(sWinHTML);         
      winprint.document.write('</body></html>');
      winprint.document.close();
      winprint.focus();
}
Avatar billede dr_chaos Nybegynder
29. marts 2006 - 18:08 #9
script type="text/javascript">
function PrintThisPage()
{
    var sWinHTML = document.getElementById('divDataGrid').innerHTML;

  var winprint=window.open("",null,"width=670,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,left=0,top=0");
      winprint.document.open();
      winprint.document.write('<html><LINK rel="stylesheet" type="text/css" href="../Style/style.css" /><body class="content">');
      //skriv printer link
      winprint.document.write('<div id="Div1" align=right><a href=# onclick=window.print()>Udskriv side</a></div>');
      winprint.document.write(sWinHTML);       
      winprint.document.write('</body></html>');
      winprint.document.close();
      winprint.focus();
}
</script>


rundt om dit datagrid laver du så et div

<div id="divDataGrid">
<asp:datagrid id="ditdatagrid" runat="server" osv.


</div>
Avatar billede sbaht Nybegynder
30. marts 2006 - 07:21 #10
Sorry aspx siden ser således ud.. Jeg lurer lige på ovenstående.

<HTML>
    <HEAD>
        <title>Rapport</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout" bgColor="#00a7ff">
        <form id="Form1" method="post" runat="server">
            <asp:label id="Label10" style="Z-INDEX: 101; LEFT: 160px; POSITION: absolute; TOP: 8px" runat="server"
                Font-Size="Large" Font-Bold="True" Width="483px"></asp:label>
            <HR style="Z-INDEX: 102; LEFT: 8px; POSITION: absolute; TOP: 48px" align="center" width="100%"
                color="black" SIZE="1">
            <asp:DropDownList id="DropDownList1" style="Z-INDEX: 103; LEFT: 168px; POSITION: absolute; TOP: 72px"
                runat="server" Width="120px" AutoPostBack="True"></asp:DropDownList>
            <asp:Label id="Label1" style="Z-INDEX: 104; LEFT: 32px; POSITION: absolute; TOP: 72px" runat="server"
                Font-Bold="True" Width="128px">Vælg kontrolrum:</asp:Label>
            <asp:Button id="Button1" style="Z-INDEX: 105; LEFT: 296px; POSITION: absolute; TOP: 72px" runat="server"
                Width="104px" Text="Hent døgnrapport"></asp:Button>
            <asp:DataGrid id="DataGrid1" style="Z-INDEX: 106; LEFT: 0px; POSITION: absolute; TOP: 104px" runat="server"
                BorderWidth="1px" CellPadding="2" BorderColor="#CCCCCC" BorderStyle="None" BackColor="White">
                <FooterStyle ForeColor="#000066" BackColor="White"></FooterStyle>
                <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#669999"></SelectedItemStyle>
                <ItemStyle ForeColor="#000066"></ItemStyle>
                <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#006699"></HeaderStyle>
                <PagerStyle HorizontalAlign="Left" ForeColor="#000066" BackColor="White" Mode="NumericPages"></PagerStyle>
            </asp:DataGrid>
            <asp:Button id="Button2" style="Z-INDEX: 107; LEFT: 408px; POSITION: absolute; TOP: 72px" runat="server"
                Width="64px" Text="Tilbage"></asp:Button>
            <asp:Button id="Udskriv_Doegrapport" style="Z-INDEX: 108; LEFT: 480px; POSITION: absolute; TOP: 72px"
                runat="server" Width="48px" Text="Udskriv"></asp:Button>
        </form>
    </body>
</HTML>
Avatar billede sbaht Nybegynder
30. marts 2006 - 07:46 #11
Jeg forstår ikke helt hvordan det burde virke, skal der refereres til en print button? Eller burde det virke det øjeblik der trykkes print via file menu i IE?
Avatar billede dr_chaos Nybegynder
30. marts 2006 - 17:37 #12
<div id="PrintDiv" align=right><a href="java script:PrintThisPage();" >Printer Venlig Version</a><br /></div>

HTML>
    <HEAD>
        <title>Rapport</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
script type="text/javascript">
function PrintThisPage()
{
    var sWinHTML = document.getElementById('divDataGrid').innerHTML;

  var winprint=window.open("",null,"width=670,status=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,left=0,top=0");
      winprint.document.open();
      winprint.document.write('<html><LINK rel="stylesheet" type="text/css" href="../Style/style.css" /><body class="content">');
      //skriv printer link
      winprint.document.write('<div id="Div1" align=right><a href=# onclick=window.print()>Udskriv side</a></div>');
      winprint.document.write(sWinHTML);     
      winprint.document.write('</body></html>');
      winprint.document.close();
      winprint.focus();
}
</script>

    </HEAD>
    <body MS_POSITIONING="GridLayout" bgColor="#00a7ff">
        <form id="Form1" method="post" runat="server">
            <asp:label id="Label10" style="Z-INDEX: 101; LEFT: 160px; POSITION: absolute; TOP: 8px" runat="server"
                Font-Size="Large" Font-Bold="True" Width="483px"></asp:label>
            <HR style="Z-INDEX: 102; LEFT: 8px; POSITION: absolute; TOP: 48px" align="center" width="100%"
                color="black" SIZE="1">
            <asp:DropDownList id="DropDownList1" style="Z-INDEX: 103; LEFT: 168px; POSITION: absolute; TOP: 72px"
                runat="server" Width="120px" AutoPostBack="True"></asp:DropDownList>
            <asp:Label id="Label1" style="Z-INDEX: 104; LEFT: 32px; POSITION: absolute; TOP: 72px" runat="server"
                Font-Bold="True" Width="128px">Vælg kontrolrum:</asp:Label>
            <asp:Button id="Button1" style="Z-INDEX: 105; LEFT: 296px; POSITION: absolute; TOP: 72px" runat="server"
                Width="104px" Text="Hent døgnrapport"></asp:Button>
           
<div id="divDataGrid">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 106; LEFT: 0px; POSITION: absolute; TOP: 104px" runat="server"
                BorderWidth="1px" CellPadding="2" BorderColor="#CCCCCC" BorderStyle="None" BackColor="White">
                <FooterStyle ForeColor="#000066" BackColor="White"></FooterStyle>
                <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#669999"></SelectedItemStyle>
                <ItemStyle ForeColor="#000066"></ItemStyle>
                <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#006699"></HeaderStyle>
                <PagerStyle HorizontalAlign="Left" ForeColor="#000066" BackColor="White" Mode="NumericPages"></PagerStyle>
            </asp:DataGrid>
</div>

            <asp:Button id="Button2" style="Z-INDEX: 107; LEFT: 408px; POSITION: absolute; TOP: 72px" runat="server"
                Width="64px" Text="Tilbage"></asp:Button>
            <asp:Button id="Udskriv_Doegrapport" style="Z-INDEX: 108; LEFT: 480px; POSITION: absolute; TOP: 72px"
                runat="server" Width="48px" Text="Udskriv"></asp:Button>
        </form>
    </body>
</HTML>
Avatar billede sbaht Nybegynder
04. maj 2006 - 10:19 #13
Jeg kan umiddelbart godt få ovenstående til at virke, kan det lade sig gøre at printe siden i landscape?
Avatar billede dr_chaos Nybegynder
04. maj 2006 - 10:30 #14
Kun vis brugeren selv vælger det i printdialog.
Der findes ingen metoder som virker i alle browsere.
Avatar billede sbaht Nybegynder
29. juni 2006 - 16:08 #15
Findes der en metode som virker i IE??
Avatar billede dr_chaos Nybegynder
29. juni 2006 - 17:33 #16
ikke med landscape
Avatar billede sbaht Nybegynder
19. juli 2006 - 20:51 #17
Ok vi lukker seancen her, du får lige lidt point..
Avatar billede sbaht Nybegynder
19. juli 2006 - 20:52 #18
Du skal jo selvfølgelige smide et svar...
Avatar billede dr_chaos Nybegynder
20. juli 2006 - 08:29 #19
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester