Google Analytics İzleme

27 Ocak 2010

DataTable'da verileri sıralama

DataTable'ın DefaultView özelliğine sıralama tanımı yaparak tablodaki verilerin sıralı gösterilmesini sağlayabiliriz.

---
vb.net:

Dim gridTable As DataTable = CType(dataGrid1.DataSource, DataTable)

gridTable.DefaultView.Sort = "CompanyName DESC"
---
c#:

DataTable gridTable = (DataTable) dataGrid1.DataSource;


gridTable.DefaultView.Sort = "CompanyName DESC"
---

if (this.DataSource is DataTable) 
{
 DataTable table = (DataTable) this.DataSource;
 if (sortExpression != null && sortExpression.Length > 0) 
 {
  table.DefaultView.Sort = sortExpression + " " + sortOrder;
 }
}
---
DataView sınıfını kullanarak da sıralama, arama ve filitreleme yapabiliriz.
vb.net
Dim dvEmpolyees as New DataView(dtEmployees)
dvEmployees.Sort = "DateOfHire"
dvEmployees.Sort = "DateOfHire, Department"
dvEmployees.Sort = "DateOfHire, Department DESC"
dvEmployees.Sort = "[Date Of Hire], Deparment"
c#
DataView dvEmployees = new DataView(dtEmployees);
dvEmployees.Sort = "DateOfHire";
dvEmployees.Sort = "DateOfHire, Department";
dvEmployees.Sort = "DateOfHire, Department DESC";
dvEmployees.Sort = "[Date Of Hire], Deparment";

kaynak:
http://weblogs.asp.net/jcogley/archive/2003/09/15/27567.aspx
http://www.knowdotnet.com/articles/dataviewsort.html
http://msdn.microsoft.com/en-us/library/system.data.datatable.defaultview(VS.71).aspx



26 Ocak 2010

visual studio 2003'de web projesini publish etme, yayınlama

Visual studio 2003'de solution explorer penceresinde web projesini seçin, menüden Project -> Copy Project seçin. Gelen sihirbazda atılacak yeri belirtiniz sonra OK butonuna basınca ilgili klasöre publish etmiş olursunuz.

Eğer web hosting hesabınıza yüklemek istiyorsanız, Front Page Extensions eklentisi hosting hesabınızda kurulu olmalıdır.



25 Ocak 2010

windows vista'ya sapgui 7.10 kurulumundan sonra saplogon.ini dosyasının yeri

Eğer vista'da UAC (User Access Control) açıksa saplogon.ini dosyası
\\%userprofile%\AppData\Local\VirtualStore\Windows klasörüne yüklenir.

UAC açık değilse C:\%Windir%\ klasörü altına yüklenir.

11 Ocak 2010

Asp.NET UpdatePanel’e UpdateProgress nesnesi koymak

Asp.NET ile ajax gerçekten çok basit.
ScriptManager ve UpdatePanel sürükleyip bırakmanız yeterli. UpdatePanel’in içine koyduğunuz nesneler, bir kodu tetiklediğiniz zaman sayfa değişmeden postback oluyor ve updatepanel içerisindeki veriler değişiyor.
Peki ya update işlemi esnasında kullanıcıyı bilgilendirsek nasıl olur?
updating

<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
<div class="progressBackgroundFilter"> </div>
<div class="processMessage">
<img src="images/updating.gif" /><br /><strong>Lütfen Bekleyin...</strong></div>
</ProgressTemplate>
</asp:UpdateProgress>

Tamam yaptık. artık update işlemi esnasında ProgressTemplate imiz görünüyor. Ama sürükleyip bıraktığımız yerde görünüyor.
css dosyamıza da şu satırları ekleyelim.
.progressBackgroundFilter {
position:fixed;
top:0px;
bottom:0px;
left:0px;
right:0px;
overflow:hidden;
padding:0;
margin:0;
background-color:#000;
filter:alpha(opacity=50);
opacity:0.5;
z-index:1000;
}
.processMessage {
position:fixed;
top:30%;
left:43%;
padding:10px;
text-align: center;
width:14%;
z-index:1001;
background-color:#fff;
border:solid 1px #000;
}

Tamamdır :)

kaynak:
http://www.kayabuyukcelen.com.tr/blog/aspnet-update-panele-updateprogress-nesnesi-koymak/

07 Ocak 2010

çapraz farklı domainlerdeki sayfaları kaynak alan iframe'lerde asp.net ajax script çalışma problemi

Çapraz farklı domainlerdeki sayfaları kaynak alan iframe'lerde asp.net ajax'ta script çalışma problemi oluşmaktadır. Line 5959 Access Denied şeklinde internet explorer'da javascript çalışma hatası vermektedir. Bu sorun MicrosoftAjax.js 'de Sys.UI.DomElement.getLocation metodunu oluştururken çıkmaktadır.

this code on the line 5959 of one of MS AJAX files, in getLocation func, yield "Access denied" bugs in cross-domain scenarios. Or http with https iframe scenario in our case. top is obviously  inaccessible...
   var w = element.ownerDocument.parentWindow;
                                                var offsetL = w.screenLeft - top.screenLeft - top.document.documentElement.scrollLeft + 2;
            var offsetT = w.screenTop - top.screenTop - top.document.documentElement.scrollTop + 2;


Bu sorun net 3.5'da düzeltildi. net 2.0 için ise yama yapmanız gerekmektedir.

Kullanabileceğiniz kaynaklar:


Access denied bug: http://forums.asp.net/p/1075429/1579575.aspx

How to work around the access denied cross-domain frame issue in ASP.NET Ajax 1.0: http://weblogs.asp.net/bleroy/archive/2007/01/31/how-to-work-around-the-quot-access-denied-quot-cross-domain-frame-issue-in-asp-net-ajax-1-0.aspx

Safely avoiding the "access denied" dialog [How to: Work around the access denied cross-domain IFRAME issue in the AJAX Control Toolkit]: http://blogs.msdn.com/delay/archive/2007/02/05/safely-avoiding-the-access-denied-dialog-how-to-work-around-the-access-denied-cross-domain-iframe-issue-in-the-ajax-control-toolkit.aspx
Ajax and validaters are not working in IFrame : http://forums.asp.net/p/1334037/2683461.aspx
http://aspnetqa.blogspot.com/2008_10_01_archive.html
http://aspnetqa.blogspot.com/