16 Temmuz 2014 Çarşamba

Aspx Sayfası Yazdırma İşlemi

Html, Php, Aspx vs web sayfası yazdınız. Sayfanızın cıktısını veya sayfada bulunan bir kısmın cıktısını almanız gerekecek. Çözüm basit. Javascript hemen imdadımıza yetişiyor.

Tüm sayfanın çıktısını almak çok kolay. bir buton koyup, javascript window nesnesinin print fonksiyonunu çagırıyoruz. Ben aspx sayfasında çalışıyorum siz kendinize uygun butonu koymalısınız.
<asp:Button ID="printButton" runat="server" Text="Print" OnClientClick="javascript:window.print();" />
Eger sayfada belli bir kısmın cıktısını almak istiyorsak, aşağıdaki scripti kullanıyoruz:


    <script type = "text/javascript">
        function PrintPanel() {
            var panel = document.getElementById("<%=pnlContents.ClientID %>");
            var printWindow = window.open('', '', 'height=400,width=800');
            printWindow.document.write('<html><head>');
            printWindow.document.write('</head><body >');
            printWindow.document.write(panel.innerHTML);
            printWindow.document.write('</body></html>');
            printWindow.document.close();
            setTimeout(function () {
                printWindow.print();
            }, 500);
            return false;
        }
    </script>


Aşağıdaki gibi bir buton hazırlayıp, click eventine script fonksiyonumuzu atıyoruz.

 <asp:Button ID="btnPrint" runat="server" Text="Print" OnClientClick = "return PrintPanel();" />


Burda dikkat edeceğimiz nokta, yazdırmak istediğimiz kısmı bir panel içerisine yerleştirmemiz gerekiyor. Benim kullandıgım panelin adı pnlContents  Script kodu bu panele ulaşıyor, innerHtml çağrısıyla panel içeriğini alıyor.

2 Temmuz 2014 Çarşamba

Telerik RadGrid İtem Üzerinde İşlem Yapma

Telerik kullanarak  bir proje gerçekleştiriyorsunuz. RadGrid'e item ları attınız ama bazılarının türü farklı ve bunu belirtmek için renklendireyim dediniz. O zaman şunu yapıyorsunuz:




protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        //GridDataItem olup olmadıgı kontrol edilir
        if (e.Item is GridDataItem)
        {
            //dataitem alırız
            GridDataItem dataItem = e.Item as GridDataItem;

            //Kontrol kosulunu yazarız
            if (dataItem["master"].Text == "1")
            {
                //ben arka plan rengi degistirdim. Farklı ayarlarda yapılabilir 
                dataItem.BackColor = System.Drawing.Color.LimeGreen;
            } 
        }
    }




Bu sayede RadGrid'de gösterilecek herbir item için bound işlemi gerçekleştirilirken item kontrol edilir, gerekli ayarlama yapılır.

1 Temmuz 2014 Salı

MYSQL : "THE USER SPECIFIED AS A DEFINER ('ROOT'@'%') DOES NOT EXIST"

Farklı bir server'a aktardığım MySql veritabanımda bir procedure çalıştırırken sürekli şu hatayı almaya başladım:

"The user specified as a definer ('root'@'%') does not exist" 

  Veritabanını farklı bir server'a aktarınca yetkilendirme yapmayı unutmuşum. Problemin kaynağı oymuş. Yetkilendirme için şu sorguyu çalıştırmanız yeterli olacaktır.



grant all on *.* to 'root'@'%' identified by 'password' with grant option;