Tahir MUTLU

ESOGÜ Bilgisayar Mühendisligi bölümünden 2008 yilinda mezun olduktan sonra , son sinifta yari zamanli olarak yazilim gelistirici olarak çalistigi firmada görevine devam etmektedir. Ayrica baska bir yazilim firmasinda danisman ve grup liderlini sürdürmektedir. Msakademik sitesinde Mobil bölüm editörlügü, bilyaz ve bilyaztv sitelerinde topluluk liderligi görevini sürdürmektedir.

geliştirdiğiniz arayüzlerde parabirimi konusunda kullanıcılar ayıraç olarak “.” mı ? “,” mü ? kullanacaklarını hep  karıştırırlar. bunu önlemek için ya bu işaretlerden girilmesini istemediğimizi kısıtlarız , bu alanın yanlarına bir açıkla ekleriz lütfen ayıraç için şu ifadeyi kullanın şeklinde. Bu kullanım aynı zamanda sizin geliştirdiğiniz ordamda bilgisayarınız bölgesel ayarlarına görede değişebilir , eğer uygulamanızı kullanan , yada uygulamanızın taşındığı ortamda bölgesel ayarlar aynı değil ise problem oluşturabilir. bunu önlemek için sistemin bölgesel ayarlarında kullanılan ayıraç ifadesi eğer girilen ifadede yok ise , diğer  ayıracı buna dönüştürebiliriz. örnek olarak

C#

double birimTutar = 0;

Double.TryParse(txtBirimTutar.Text.Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator,
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator),
out birimTutar)

bu kod blogunda grup ayıracı var ise bunu ondalık ayıracına dönüştürebiliyoruz.

js kodumuz

<SCRIPT language=JavaScript>

function ClipboardaKopyala(icerik) {

if (window.clipboardData && clipboardData.setData) {

clipboardData.setData(‘text’, icerik);

}

}

</SCRIPT>

html kodumuz

<a href=”#” id=”copy” onclick=”ClipboardaKopyala(document.getElementById(icerik).innerHTML)”>Clipboard’a Kopyala</a>

<div id=”icerik”>

deneme kopyalama içeriği

http://www.tahirmutlu.com

</div>

ASP.NET DropDownList Doldurma işlemini bir xml den datasete veri aktararak anlatmaya çalışacağım. App_Data klasörü altında bulunan firmaList.xml dosyasındaki firma isimlerini dropdown liste dolduruyor olacağız. DropdownList imizin adı : ddlSirketler

.cs

DataSet dsSirketler = new DataSet();
dsSirketler.ReadXml(HttpContext.Current.Server.MapPath(“~/App_Data/firmaList.xml”));

ddlSirketler.DataSource = dsSirketler.Tables[0];
cbxSirketler.DataTextField = “text”;
cbxSirketler.DataValueField = “value”;

xml dosyamız

<?xml version=”1.0″ encoding=”utf-8″ ?>
<firmalar>
<firma>
<text>Firma 1</text>
<value>firma1</value>
</firma>
<firma>
<text>Firma 2</text>
<value>firma2</value>
</firma>
</firmalar>

asp.net ajax uygulamanızda CalendarExtender ile ilgili  konum problemi yaşıyorsanız , CalendarExtender ile textbox nesnenizi aynı div içerisine alarak bu problemi ordatan kaldırabilirsiniz.

<div id=”takvim” runat=”server” style=”position:relative;” >

<asp:TextBox ID=”txtTarih” runat=”server”  />

<ajaxToolkit:Calendar runat=”server”
TargetControlID=”txtTarih”
Format=”dd.MM.yyyy”
/>

</div>

asp.net uygulamanız içinde ki dropdownlistinize yeni bir eleman (option) eklemek istediğinizde , bunu window.open() ile açacağınız yeni bir pencere ile gerçekleştirmek istiyorsanız , açılan pencerede kaydet butonuna  close_form() adında bir javascript fonksiyonu ile eşleştirip  bu fonksiyon içierisine aşağıdaki kod blogunu yazarak ana sayfadaki drıpdownlist nesnesine erişerek ekleme işlemini gerçekleştirebilirsiniz.

<script>

function close_form()

{

try {

var opt = new window.opener.document.createElement(“option”);

window.opener.document.getElementById(‘dropdownlist_subeler’).options.add(opt);

opt.text = document.getElementById(‘txt_subeler’).value;

opt.value = document.getElementById(‘txt_subeler’).value; window.close();

}

catch(err)

{

alert(err);

}

}

</script>

projenizde yer alan gridview nesnenizde BoundField Column width özelliğini belirlemek için ItemStyle-Width özelliğini kullanabilirsiniz.

örn:

<asp:BoundField DataField=”ACIKLAMA”
HeaderText=”Açıklama”
SortExpression=”ACIKLAMA” ItemStyle-Width=”200px” />

Web servisler üzerinde çalışırken , aldığım bir hatanın nerede olduğunu gözlemlemek için debug mode da projeyi açmak istediğimde karşıma çıkan hata mesajı ile aşağıdaki gibi

Unable to start debugging on the web server. Debugging failed because integrated Windows authentication is not enabled. Please see Help for assistance”

Çözümü :

1. IIS(Internet Information Server)’i açın
2. Web Site’a sağ tıklayın ve Properties(Özellikler)sekmesini seçin
3. Directory Security(Dizin Güvenliği) sekmesini seçin ve “Anonymous access and
authentication control” ü seçin
4. Açılan pencerede “Enable Anonymous access” checkbox’ının tik’ini kaldırın ve
“Integrated Windows Authentication” checkbox’ını tik’lyin.

4 . adımı yaptıktan sonra da baktım ki debug ta sorun yok ama bu seferde servisi kullanan uygulama erişemiyor. bu yüzden 4. adımda “Enable Anonymous access” ifadesininde seçili olmasını sağlayın.

SQL Server Reporting Services kullanırken tablix ‘ inize uygulamak istediğiniz filtrede parametre olarak aldığınız bir değer ile datasetinizde bulunan bir alan ile karşılaştırmak istiyorsanız ve bu alan içerdiği değere göre değişiyorsa basit bir şekilde düzenleyebiliyoruz.

senaryo : parametre olarak bir bitiş tarih değeri alıyorsunuz. Karşılaştırmak istediğiniz datasetteki alanda işin bitiş tarih alanı ama , eğer iş bitiş tarihi boş ise iş gözden geçirme tarihine göre filtrelemek istiyorsunuz. Tablix ‘inizin filters bölünende Expression yazan bölümün yanındaki fx i tıkladığınızda açılan pencerede koşula göre alan getirebiliyorsunuz.

açılan pencereye 

=iif(Fields!bitis_Tarihi.Value  Is Nothing , Fields!GozdenGecirme_Tarihi.Value , Fields!bitis_Tarihi.Value) 

ifadesini ekliyoruz. bu sayede bitiş tarihi alanı boş gelmesi durumunda Gözden geçirme tarihi alanına göre karşılaştırma yapacaktır. Operator bölümünde karşılaştırma ifademizi seçiyoruz. Value bölümünde istersek parametre değer istersek sabit değer de vererek karşılaştırma yapabiliriz.

Hata mesajını alma hikayemiz şöyle. Web uygulamamızda SharePoint:SPGridView üzerinde <asp:ButtonField nesnesi yardımı ile belirleyeceğimiz bir dosyayı yeni pencerede açmaya çalıştık ve gridimiz updatepanel içerisinde . Dosya açma örnek kodu :

// .ascx bölümü
<SharePoint:SPGridView runat=”server” CssClass=”ms-formbody” ID=”grid_verigoster” AutoGenerateColumns=”false” >
<asp:ButtonField Text=”DosyayiAc” CommandName=”dosyaac” buttontype=”Link”/>
</SharePoint:SPGridView>

// .ascx bölümü
// .cs bölümü

void grid_Selected_RowCommand(object sender, GridViewCommandEventArgs e){
if (e.CommandName == “dosyaac”)
{
string deneme = “
http://www.denemesayfa.com/DosyaKalem/40/test.xls“;
            Response.Write(“<script>”);
            Response.Write(“window.open(‘” + deneme + “‘)”);
            Response.Write(“</script>”);

}
}

// .cs bölümü
bu şekilde uygulamayı çalıştırdığımız da hata mesajı ile karşılaştık.

Çözüm
çözüm için </asp:UpdatePanel> dan önce PostBackTrigger eklemeniz yeterli olacaktır.

<Triggers>
           <asp:PostBackTrigger ControlID=”Button1″ />
        
</Triggers>
    
</asp:UpdatePanel>

© 2010 bilyaz.com , Programlama Makaleleri, Yazılım Makaleleri , Örnek Kodlar , Eğitim Videoları , C#,ASP.NET,SQL,PHP Suffusion WordPress theme by Sayontan Sinha