BAĞLANTILARIM

Takip Edin:

0

DataTable üzerinde istenilen sütunlarda toplama yapma

Çarşamba, Temmuz 22, 2015 / / , ,


DataTable üzerinde istenilen herhangi bir sütun Compute kullanılarak aşağıdaki şekilde toplanabilir.

object toplamFiyat;
toplamFiyat = dtSiparisTablo.Compute("SUM(Fiyat)", "");



Not : DataTable'daki Fiyat alanının veri tipi sayısal olmalıdır.

0

TextBox'a sadece sayı ve virgül girilsin

Salı, Temmuz 21, 2015 / / ,

Windows Form uygulamalarında TextBox kontrolüne sadece sayı ve virgül girilmesini sağlamak için ilgili TextBox kontrolünün KeyPress olayına
aşağıdaki kod eklenir.

e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && e.KeyChar != ',';

0

ASP.NET SAYFA ADRESİNİ ALMA VE METİN İÇİNDE AYNI KARAKTERDEN KAÇ ADET OLDUĞUNU BULMA

Pazar, Haziran 14, 2015 / / , ,

string sayfaAdresi = HttpContext.Current.Request.Url.AbsoluteUri.ToString();
int slashSayisi = Regex.Matches(sayfaAdresi, "/").Count;

0

C#'ta itextSharp ile Html'yi Pdf'ye dönüştürme

Çarşamba, Mayıs 13, 2015 / / ,

Örnekte PDF'i MemoryStream ile hafızada oluşturduktan sonra mail yoluyla gönderdik.
Türkçe karakterleri sorunsuz şekilde oluşturdu.


StringBuilder sb = new StringBuilder();
sb.Append("<table>");
sb.Append("<tr><td><b>Merhaba Türkçe, ÇçĞğİıÖöŞşÜü</b></td></tr>");
sb.Append("</table>");
       
            Document pdfDokuman = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
            using (MemoryStream memoryStream = new MemoryStream())
            {
                PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDokuman, memoryStream);
                pdfDokuman.Open();
                StyleSheet stil = new StyleSheet();
                FontFactory.Register("C:\\Windows\\Fonts\\Arial.ttf", "ArialFont");
                stil.LoadTagStyle("body", "face", "ArialFont");
                stil.LoadTagStyle("body", "encoding", "Identity-H");
                stil.LoadTagStyle("body", "size", "8pt");
             
                using (var stringIcerik = new StringReader(sb.ToString()))
                {
                    using (var htmlWorker = new HTMLWorker(pdfDokuman, null, stil))
                    {
                        htmlWorker.Parse(stringIcerik);
                    }
                }
                pdfDokuman.Close();
                byte[] dokuman = memoryStream.ToArray();//oluşan ve gönderilecek doküman
                memoryStream.Close();
                //MailGonder.GmailUzerinden("Mail Başlık", "İçerik", dokuman, gonderilecekEpostaAdresi);
            }

0

Asp.net iç içe Repeater veya iç içe ListView kullanımı

Cuma, Nisan 17, 2015 / / , ,



İç içe listeleme işlemlerinde aşağıdaki yöntem kullanılabilir. Örnekte dıştaki ListView kontrolünde odalar ve odalara ait genel bilgiler listelenirken; içte kullanılan Repeater kontolünde ise oda tipine göre odaların özellikleri dolduruldu.(Balkon, Bahçe, Havuz vs..) 

Aynı işlem Repeater içinde Repeater veya ListView içinde ListView olarak da kullanılabilir.


Tasarım tarafı: kontrollerin yerleşimi

<table class="tabloRezervasyon">
                    <tr>
                        <th style="width: 30%;">Oda</th>
                        <th style="width: 10%; text-align:center;">Maks. Kişi</th>
                        <th style="width: 25%;">Bilgi</th>
                        <th style="width: 15%; text-align:center;">Fiyat</th>
                        <th style="width: 20%;">Rezervasyon</th>
                    </tr>
                    <asp:ListView ID="lvListe" runat="server" OnItemDataBound="lvListe_ItemDataBound">
                        <ItemTemplate>
                            <tr>
                                <td><a href="RezervasyonOdaDetay.aspx?odaTipId=<%#Eval("OdaTipId") %>" class="various" data-fancybox-type="iframe"><%#Eval("Fotograf").ToString()!=String.Empty ? "<img src=\"images/oda/" + Eval("Fotograf") + "\" alt=\"\" class=\"odaFoto\" />" : "<i class=\"fa fa-4x fa-camera odaFotoYok\"></i>" %></a>
                                  <a href="RezervasyonOdaDetay.aspx?odaTipId=<%#Eval("OdaTipId") %>" class="turuncu17 various" data-fancybox-type="iframe"><%#Eval("OdaAd") %></a>
                                    <br />
                                    <br />
                                    <asp:Repeater ID="repeatOzellik" runat="server">
                    <HeaderTemplate><ul class="listeOzellik"></HeaderTemplate>
                    <ItemTemplate>
                        <li><i class="fa fa-circle"></i><span class="siyah14"><%#Eval("OzellikAd") %></span></li>
                    </ItemTemplate>
                    <FooterTemplate></ul></FooterTemplate>
                </asp:Repeater>
                                </td>
                                <td style="text-align:center;"><%#Eval("KisiKapasite") %> Kişi</td>
                                <td><%#Eval("KisaBilgi").ToString().Length>130 ? ""+Eval("KisaBilgi").ToString().Substring(0,130)+"..." : ""+Eval("KisaBilgi")+"" %></td>
                                <td style="text-align:center;"><span class="turuncu17"><%#Eval("Fiyat") %> <%#Eval("ParaTipi") %></span></td>
                                <td>
                                    <asp:LinkButton ID="btnRezervasyonYap" runat="server" CssClass="buton turuncu">Rezervasyon Yap</asp:LinkButton></td>
                            </tr>
                        </ItemTemplate>
                    </asp:ListView>
                </table>



Kod tarafı:


Dıştaki kontrol normal şekilde doldurulur.
İçteki Repeater ise dıştaki kontrolün ItemDataBound olayında aşağıdaki şekilde doldurulur.


        protected void lvListe_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            try
            {
                odaTipId = DataBinder.Eval(e.Item.DataItem, "OdaTipId").ToString(); //Dıştaki kontrolden OdaTipId isimli alanın değerini aldık.
                VeriMsSQL.Islem islem = new VeriMsSQL.Islem();
                DataTable dt = islem.OzellikOdaListe(odaTipId);
                if (dt.Rows.Count > 0)
                {
                    Repeater repeatOdaOzellik = e.Item.FindControl("repeatOzellik") as Repeater;
                    repeatOdaOzellik.DataSource = dt;
                    repeatOdaOzellik.DataBind();

                }
                dt.Dispose();
            }
            catch (Exception)
            {
            }
        }

0

C# ve Asp.net para formatlama

Çarşamba, Mart 18, 2015 / / ,

Virgüllü sayısal ifadelerde virgülden sonra iki basamak gösterir


Asp.net Eval ile kullanımı

<%#Eval("BORC","{0:0.##}") %>


Kod tarafı kullanımı

double borc = 0.150000000000008;
lblToplamBorc.Text = String.Format("{0:0.##}", borc);



Farklı kullanımlar:

double fiyat = 1308.3449183999999;
fiyat.ToString("0.00");
fiyat.ToString("C", CultureInfo.CurrentCulture);
fiyat.ToString("C",CultureInfo.GetCultureInfo("tr-TR"));
fiyat.ToString("N2"); 

0

DataTable'dan Excel'e Aktarım.

Salı, Mart 17, 2015 / / ,


C# Excel'e aktarım aşağıdaki şekilde kullanılabilir. Türkçe karakterler sorunsuz olarak aktarılmaktadır.

DataTable dt = //veri kaynağı
                if (dt.Rows.Count > 0)
                {
                    DataView dv = new DataView(dt);
                    this.EnableViewState = false;
                    Response.Clear();
                    Response.Charset = "utf-8";
                    Response.ContentType = "application/vnd.ms-excel";
                    Response.AddHeader("Content-Disposition", "inline;filename=talep_rapor.xls");
                    Response.ContentEncoding = System.Text.Encoding.UTF8;
                    Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble());
                 
                    StringBuilder sbIcerik = new StringBuilder();
                    sbIcerik.Append("<table>" +
                    "<tr>" +
                    "<td>Talep No</td>" +
                    "<td>Açılış Tarihi</td>" +
                    "<td>Kullanıcı</td>" +
                    "<td>Başlık</td>" +
                    "<td>Toplam Süre / dk.</td>" +
                    "<td>Toplam Ücret / TL</td>" +
                    "</tr>"
                    );
                    foreach (DataRowView icerikSatir in dv)
                    {
                        sbIcerik.Append("<tr>");
                        sbIcerik.Append("<td>" + icerikSatir["TalepId"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["AcilisZamani"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["KullaniciAd"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["Baslik"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["ToplamSure"].ToString() + "</td>");
                        sbIcerik.Append("<td>" + icerikSatir["ToplamUcret"].ToString() + "</td>");
                        sbIcerik.Append("</tr>");
                    }
                    sbIcerik.Append("</table>");
                    Response.Write(sbIcerik);
                    Response.End();
                    Response.Flush();
                }
                dt.Dispose();

SON YORUMLAR