Merhaba arkadaşlar bu makalemizde ListView nesnesinde düzenleme işlemlerini yapacağız. ListView a yeni kayıt girişi yapacağız. Mevcut kayıtların güncellenmesini göreceğiz. İstenilmeyen kayıtları sileceğiz. Son olarak DataPager ile ListView nesnemizi sayfalayacağız.
Şekil 1
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
string str= "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\kategori.mdf;Integrated Security=True";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDetay("Yazar ASC");
}
}
private void BindDetay(string sortExpression)
{
sortExpression = sortExpression.Replace("Ascending", "ASC");
using (SqlConnection baglan = new SqlConnection(str))
{
baglan.Open();
using (SqlDataAdapter da = new SqlDataAdapter("Select * From [dbo].[Table] order by Yazar", baglan))
{
DataTable dt = new DataTable();
da.Fill(dt);
// simdi sinifliyoruz
dt.DefaultView.Sort = sortExpression;
ListView1.DataSource = dt;
ListView1.DataBind();
}
baglan.Close();
}
}
protected void InsertListViewItem(object sender, ListViewInsertEventArgs e)
{
ListViewItem item = e.Item;
TextBox tYazar = (TextBox)item.FindControl("txtYazar");
TextBox tKitap = (TextBox)item.FindControl("txtKitap");
TextBox tFiyat = (TextBox)item.FindControl("txtFiyat");
// veritabanina kayitlarin girisi yapiliyor
using (SqlConnection conn = new SqlConnection(str))
{
string Sql = "insert into [dbo].[Table] (Yazar, Kitap, Fiyat) values " +
" (@Yazar, @Kitap, @Fiyat)";
conn.Open();
using (SqlCommand dCmd = new SqlCommand(Sql, conn))
{
dCmd.Parameters.AddWithValue("@Yazar", tYazar.Text.Trim());
dCmd.Parameters.AddWithValue("@Kitap", tKitap.Text.Trim());
dCmd.Parameters.AddWithValue("@Fiyat", tFiyat.Text.Trim());
dCmd.ExecuteNonQuery();
}
conn.Close();
}
lblMesaj.Text = "Yeni kayıt(lar) başarılı şekilde girişi yapıldı. ";
BindDetay("Yazar ASC");
}
protected void EditListViewItem(object sender, ListViewEditEventArgs e)
{
ListView1.EditIndex = e.NewEditIndex;
BindDetay("Yazar ASC");
}
protected void UpdateListViewItem(object sender, ListViewUpdateEventArgs e)
{
ListViewItem item = ListView1.Items[e.ItemIndex];
int Id = int.Parse(ListView1.DataKeys[e.ItemIndex].Value.ToString());
TextBox tName = (TextBox)item.FindControl("txtName");
TextBox tAddress = (TextBox)item.FindControl("txtAddress");
TextBox tPhone = (TextBox)item.FindControl("txtPhone");
// veritabanina kayitlarin girisi yapiliyor
using (SqlConnection conn = new SqlConnection(str))
{
string Sql = "update [dbo].[Table] set Yazar = @Yazar, Kitap = @Kitap, Fiyat = @Fiyat where Id = @Id";
conn.Open();
using (SqlCommand dCmd = new SqlCommand(Sql, conn))
{
dCmd.Parameters.AddWithValue("@Id", Id);
dCmd.Parameters.AddWithValue("@Yazar", tName.Text.Trim());
dCmd.Parameters.AddWithValue("@Kitap", tAddress.Text.Trim());
dCmd.Parameters.AddWithValue("@Fiyat", tPhone.Text.Trim());
dCmd.ExecuteNonQuery();
}
conn.Close();
lblMesaj.Text = "Kayıt(lar) başarılı şekilde güncellendi.";
}
ListView1.EditIndex = -1;
// tekrar baglanti detaylarini aliyoruz
BindDetay("Yazar ASC");
}
protected void CancelListViewItem(object sender, ListViewCancelEventArgs e)
{
ListView1.EditIndex = -1;
// tekrar baglanti detaylarini aliyoruz
BindDetay("Yazar ASC");
}
protected void DeleteListViewItem(object sender, ListViewDeleteEventArgs e)
{
int Id = int.Parse(ListView1.DataKeys[e.ItemIndex].Value.ToString());
// veritabanina kayitlarin girisi yapiliyor
using (SqlConnection conn = new SqlConnection(str))
{
string Sql = "delete from [dbo].[Table] where Id = @Id";
conn.Open();
using (SqlCommand dCmd = new SqlCommand(Sql, conn))
{
dCmd.Parameters.AddWithValue("@Id", Id);
dCmd.ExecuteNonQuery();
}
conn.Close();
lblMesaj.Text = "Kayıt(lar) başarılı şekilde silindi. ";
}
BindDetay("Yazar ASC");
}
protected void PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
BindDetay("Yazar ASC");
}
protected void SortListViewRecords(object sender, ListViewSortEventArgs e)
{
string sortExpression = e.SortExpression + " " + e.SortDirection;
BindDetay(sortExpression);
}
}
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.auto-style1 {
width: 872px;
height:50px;
font-size:29px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblMesaj" runat="server" EnableViewState="false" ForeColor="Blue"></asp:Label>
<asp:ListView ID="ListView1" runat="server" ItemPlaceholderID="PlaceHolder1" OnItemEditing="EditListViewItem"
OnItemCanceling="CancelListViewItem" OnItemUpdating="UpdateListViewItem" DataKeyNames="Id"
OnPagePropertiesChanging="PagePropertiesChanging" OnItemInserting="InsertListViewItem"
InsertItemPosition="LastItem" OnItemDeleting="DeleteListViewItem" OnSorting="SortListViewRecords" >
<LayoutTemplate>
<table width:"750px" cellpadding="4" cellspacing="0" border="1" bordercolor=#000000>
<tr class="header">
<th style="width: 350px;font-size:24px;">
<asp:LinkButton ID="lnkSort1" runat="server" CommandName="Sort" CommandArgument="Yazar" Text="Yazar" />
</th>
<th style="width: 350px;font-size:24px;">
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Sort" CommandArgument="Kitap" Text="Kitap" />
</th>
<th style="width: 250px;font-size:24px;" >
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Sort" CommandArgument="Fiyat" Text="Fiyat" />
</th>
<th style="width: 150px;font-size:24px;">
Düzenle
</th>
</tr>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr class="item" style="background-color: #b6ff00;color: #284775; font-size:24px;">
<td>
<%# Eval("Yazar") %>
</td>
<td>
<%# Eval("Kitap") %>
</td>
<td>
<center><%# Eval("Fiyat") %></center>
</td>
<td>
<asp:LinkButton ID="lnkEdit" runat="server" Text="Edit" CommandName="Edit" />
<span onclick="return confirm('Seçili kayıtın silinmesinden emin misiniz?')">
<asp:LinkButton ID="lnkDelete" runat="server" Text="Delete" CommandName="Delete" ForeColor="Brown"/>
</span>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr style="background-color:#4cff00;color: #284775;font-size:24px; ">
<td>
<%# Eval("Yazar") %>
</td>
<td>
<%# Eval("Kitap") %>
</td>
<td>
<center><%# Eval("Fiyat") %></center>
</td>
<td>
<asp:LinkButton ID="lnkEdit" runat="server" Text="Edit" CommandName="Edit" />
<span onclick="return confirm('Seçili kayıtın silinmesinden emin misiniz?')">
<asp:LinkButton ID="lnkDelete" runat="server" Text="Delete" CommandName="Delete" ForeColor="Brown" />
</span>
</td>
</tr>
</AlternatingItemTemplate>
<EditItemTemplate>
<tr class="edititem" style="font-size:24px;">
<td>
Yazar:
<asp:TextBox ID="txtYazar" runat="server" Text='<%# Eval("Yazar") %>' />
</td>
<td>
Kitap:
<asp:TextBox ID="txtKitap" runat="server" Text='<%# Eval("Kitap") %>' />
</td>
<td>
Fiyat:
<asp:TextBox ID="txtFiyat" runat="server" Text='<%# Eval("Fiyat") %>' />
</td>
<td>
<span onclick="return confirm('Seçili kayıtın güncellenmesinden emin misiniz?')">
<asp:LinkButton ID="btnUpdate" runat="server" Text="Update" CommandName="Update" />
</span>
<asp:LinkButton ID="btnCancel" runat="server" Text="Cancel" CommandName="Cancel" />
</td>
</tr>
</EditItemTemplate>
<InsertItemTemplate>
<tr class="insert" style="font-size:24px;">
<td>
Yazar:
<asp:TextBox ID="txtYazar" runat="server" Text='<%# Eval("Yazar") %>' />
</td>
<td>
Kitap:
<asp:TextBox ID="txtKitap" runat="server" Text='<%# Eval("Kitap") %>' />
</td>
<td>
Fiyat:
<asp:TextBox ID="txtFiyat" runat="server" Text='<%# Eval("Fiyat") %>' />
</td>
<td>
<span onclick="return confirm('Yeni kayıt girişinden emin misiniz?')">
<asp:LinkButton ID="btnInsert" runat="server" Text="Insert" CommandName="Insert" />
</span>
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
<div style="text-align: center; font-weight: bold;" class="auto-style1">
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" PageSize="5">
<Fields>
<asp:NumericPagerField ButtonCount="5" />
</Fields>
</asp:DataPager>
</div>
</div>
</form>
</body>
</html>
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN
0 comments:
Yorum Gönder