18 Eylül 2018 Salı

DataTable To List Object - C#



Merhaba Arkadaşlar ,


Daha önce kullandığım kısa bir kod parçasını sizinlede paylaşmak istedim.  Elimizde bulunan bir Datatable ı nasıl list objesine aktarırız onu göstereceğim.

Diyelim ki  elimde ki obje


public class Person
{
    public string PersonName{ get; set; }
    public int PersonSurname{ get; set; }
}
 
olsun.şimdli objeyi doldurum listeye aktaralım.
 
 
 
var myList= (from rw in yoursDatatable.AsEnumerable()
 select new Person() 
   {
    PersonName= Convert.ToString(rw["Name"]),
    PersonSurname= Convert.ToString(rw["Surname"])
   }).ToList(); 
 
 
 
 
 
 
 

6 Nisan 2018 Cuma

Ajax ile veritabanına kayıt ekleme ve listeleme

Arkadaşlar Merhabalar ,

Ajax ile  web servis ve entity framework kullanarak  , veritabanına kayıt ekleme ve listeleme ile alakalı basit bir örnek paylaşacağım. Amacım ajax ile bu işlem nasıl yapılacağını göstermek , bu yüzden  server tarafında ki kodların üzerinden çok durmadım.

Örnek olması açısından , bir tabloya kayıt ekleme ve ekledikten sonra kayıtların listelenmesini göstereceğim. Hızlı olması açısından Jquery datatable plug in i kullanıyorum. Çok kullanışlıdır.Bakmanızı tavsiye ederim.   Entity framework te tablo nasıl oluşturulur ,kayıt nasıl eklenir ve listelenir bunlara  değinmek istemiyorum. Az çok bilginiz olduğunu farz ediyorum.Dediğim gibi amacım daha çok AJAX ve Web servis mantığını göstermek.


Daha öncesinde User.cs adında bir class oluşturdum.Bu classın kullanıcı adı  , soyadı, yaş ve iş olmak üzeren 4 tane elemanı var.

Projemize bir tane web servis ekliyoruz. Ben adına UserWebService.asmx  dedim. Web servis ekledikten sonra  , ekleme ve listeleme için aşağıdaki iki web methodu yazdım.


UsersContext db = new UsersContext();

        [WebMethod]
        public void AddNewUser(User usr)
        {
            //User class tipinde parametre alıyor.
            //ajax tarafından buraya bir object göndereceğim için böyle tanımladım.
            //ajax tarafında göndereceğiniz veri tipine göre parametre tipide değişir.
            var User = new User();
            User.UserName = usr.UserName;
            User.UserLastName = usr.UserLastName;
            User.UserAge = usr.UserAge;
            User.UserPhoneNum = usr.UserPhoneNum;

            db.Users.Add(User);
            db.SaveChanges();
        }



        [WebMethod]
        public void getUsers()
        {
            IEnumerable<User> AllUsers = db.Users;
            List<User> ListUser = new List<User>();

            foreach (var user in AllUsers)
            {

                User usr = new User();

                usr.UserName = user.UserName;
                usr.UserLastName = user.UserLastName;
                usr.UserAge = user.UserAge;
                usr.UserPhoneNum = user.UserPhoneNum;

                ListUser.Add(usr);
              
            }

            //veri tabanında listelediğim verileri  classa atıp listeye ekliyorum.
            //listeyi , ajax tarafında json formatında alabilmek için
            //bu işlemden geçiriyorum
            JavaScriptSerializer js = new JavaScriptSerializer();
            Context.Response.Write(js.Serialize(ListUser));


        }




Şimdi de arayüz tarafına bakalım.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="jqueryDatatable._default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
 <head> 
     <title>Jquery Table</title>
        <script src="https://code.jquery.com/jquery-1.11.3.min.js" type="text/javascript"></script> 
        <script src="https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js" type="text/javascript"></script> 
        <link rel="stylesheet" href="https://cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css" /> 
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
 

 <script type="text/javascript"> 
     $(document).ready(function () {

      $('#datatable').dataTable();

    
  
      $('#addUser').click(function () {
         
         // user object i web methoda gönderiyorum.

          var user = {};
          user.UserName = $('#usrName').val();
          user.UserLastName = $('#usrLstName').val();
          user.UserAge = $('#usrAge').val();
          user.UserPhoneNum = $('#usrPhone').val();

          $.ajax({
              url: 'UserWebService.asmx/AddNewUser',
              dataType:'json',     // json formatında veri göndereceğimi belirtiyorum
              contentType: 'application/json;charset=utf-8',
              data:'{usr:'+JSON.stringify(user)+'}',  // user i json nesnesi haline getiriyoruz.
              method: 'post',
              success: function () {
                  getAllUsers();
              },
              error: function (err) {
                  alert(err);
              }

          });
      });

      function getAllUsers() {
       
          $.ajax({
              url: 'UserWebService.asmx/getUsers',
                  dataType: "json",
                  method: 'post',
                  success: function (data) {
                      var userTable = $('#datatable tbody');
                  $(data).each(function (index, usr) {

                      userTable.append('<tr><td>' + usr.UserName + '</td><td>' + usr.UserLastName + '</td><td>' + usr.UserAge + '</td><td>' + usr.UserPhoneNum + '</td></tr>')
                  });                 
              },
              error: function (err) {
                  alert(err);
              }

          });
      }

  });



 </script> 
 
</head>
<body style="font-family:Arial;padding:50px">
    <form id="form1" runat="server">
    <table id="datatable"> 
            <thead> 
                <tr> 
                    <th>   User Name   </th> 
                    <th>    User Last Name </th> 
                    <th>    User Age </th> 
                    <th>    User Phone </th>
                    <th>   Process</th>
                </tr> 
            </thead> 
            <tbody align="Center"> 
               <tr>
                   <td><asp:TextBox ID="usrName" runat="server"  CssClass="form-control" placeholder="Name"></asp:TextBox></td>
                   <td><asp:TextBox ID="usrLstName" runat="server"  CssClass="form-control" placeholder="Last Name"></asp:TextBox></td>
                   <td><asp:TextBox ID="usrAge" runat="server"  CssClass="form-control" placeholder="Age"></asp:TextBox></td>
                   <td><asp:TextBox ID="usrPhone" runat="server"  CssClass="form-control" placeholder="Phone Num"></asp:TextBox></td>
                   <td class="text-center"><a id="addUser" class='btn btn-info btn-xs' href="#"><span class="glyphicon glyphicon-plus"></span> Add</a></td>
               </tr>
            </tbody> 
        </table>         
    </form>
</body>
</html>



Görüntü :



24 Aralık 2017 Pazar

Css Dock menu

Merhaba Arkadaşlar ,

Bu seferki yazımda css ile dock menu nasıl yapılır  kısa bir kod örneği ile göstermeye çalışacağım. Bir çoğumuz görmüşüzdür ve nasıl yapıldığını merak etmişizdir. Şimdi kodlara geçelim.

CSS:

  #dock-container {
         
            text-align: center;
            right: 20%;
            left: 20%;
            width: 100%;
            border-radius: 10px 10px 0 0;
        }
   #dock-container li {
            list-style-type: none;
            position: relative;
            margin-bottom:40px;
       
           
        }
            
            
  #dock-container li img {
          width: 32px;
          height: 32px;
          -webkit-box-reflect: below 2px
                    -webkit-gradient(linear, left top, left bottom, from(transparent),
                    color-stop(0.7, transparent), to(rgba(255,255,255,.5)));
          -webkit-transition: all 0.3s;
          -webkit-transform-origin: 50% 100%;
        }

              #dock-container li:hover img {
          -webkit-transform: scale(2);
          margin: 0 2em;
        }
        #dock-container li:hover + li img,
        #dock-container li.prev img {
          -webkit-transform: scale(1.5);
          margin: 0 1.5em;
        }
            
              #dock-container li span {
            display: none;
            position: absolute;
            bottom: 140px;
            left: 0;
            width: 100%;
            background-color: rgba(0,0,0,0.75);
            padding: 4px 0;
            border-radius: 12px;
        }
        #dock-container li:hover span {
            float :left;
            display: block;
            color: #fff;

        }






HTML KODLARI:

<div style="width:10%;float:left;" id="leftMenu">
                <div id="dock-container">
                     <div id="dock">
                       <ul>
                          <li style="margin-top:25px">
                            <span>Ana Sayfa</span>

                            <a href="#"> <img class="img-responsive img-rounded" src="Content/SiteMaster/images/dockmenu/CashBox.jpg" /></a>
                          </li>
                          <li>
                            <span>iletişim</span>
                            <a href="#"><img class="img-responsive img-rounded"  src="Content/SiteMaster/images/dockmenu/Communication.jpg" /></a>
                          </li>
                          <li>
                             <span>Hakkımızda</span>
                             <a href="#"><img class="img-responsive img-rounded"  src="Content/SiteMaster/images/dockmenu/Current.jpg" /></a>
                          </li>
                          <li>
                             <span>Makaleler</span>
                             <a href="#"> <img class="img-responsive img-rounded"  src="Content/SiteMaster/images/dockmenu/DailyProcessCheck.jpg" /></a>
                          </li>
                            <li>
                             <span>G+</span>
                             <a href="#"> <img class="img-responsive img-rounded"  src="Content/SiteMaster/images/dockmenu/Invoice.jpg" /></a>
                          </li>
                            <li>
                             <span>Facebook</span>
                             <a href="#"> <img class="img-responsive img-rounded"  src="Content/SiteMaster/images/dockmenu/Order.jpg" /></a>
                          </li>
                           
                           
                       </ul>
                     </div>
                    </div>

              </div>





EKRAN GÖRÜNTÜSÜ:







Kolay Gelsin..















DataTable To List Object - C#

Merhaba Arkadaşlar , Daha önce kullandığım kısa bir kod parçasını sizinlede paylaşmak istedim.  Elimizde bulunan bir Datatable ı nasıl ...

Popüler Yayınlar