Datalist içindeki kontrollere javascript ekleme
Datalist içindeki bir kontrole javascript aşağıdaki şekilde eklenebilir.
Aşağıdaki örnekte datalist içinde textboxlar var ve textbox içine veritabanından gelen bir değer yazılıyor. Textbox yanında bir resim ekledim ve resme tıklanınca ilgili satırdaki textbox içinin silinmesini sağladım.
///
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
TextBox tbpdf = (TextBox)e.Item.FindControl("txtpdf"); //her satırdaki textbox kontrolünü aldık.
((HtmlImage)e.Item.FindControl("imgPdf")).Attributes.Add("onclick", "javascript:TextBoxSil('" + tbpdf.ClientID + "')"); // her satırdaki image kontrolünü aldık ve ona javascript kodu ekledik.
}
}
///
TextBoxSil adındaki javascript kodu aşağıdaki gibidir.
///
<script type="text/javascript" language="javascript">
function TextBoxSil(contol) {
document.getElementById(contol).value = '';
}
</script>
///
foreach ile datalist elemanlarına ulaşma
Datalist içindeki elemanlara ulaşmayı için aşağıdaki şekilde yapabilirsiniz.
///
protected void Button1_Click(object sender, EventArgs e)
{
foreach (DataListItem dtitems in DataList1.Items)
{
if (dtitems.ItemType == ListItemType.Item || dtitems.ItemType == ListItemType.AlternatingItem)
{
if (((CheckBox)dtitems.FindControl("CheckBox1")).Checked)
{
//datalist içindeki checkbox lar işaretli
}
string labelYazisi = ((Label)dtitems.FindControl("lblmodel")).Text; //datalist içindeki label kontrolüne eriştik
string textBoxYazisi = ((TextBox)dtitems.FindControl("txtpdf")).Text; // datalist içindeki textbox kontrolüne eriştik
}
}
}
///
T-SQL Create Table – Identity ve Primary Key ile tablo oluşturma
T-Sql ile identity ve primary key ile tablo oluşturma işlemini aşağıdaki gibi yapabilirsiniz.
Identity(başlangıçDeğeri, ArtısDeğeri)
CREATE TABLE Personeller
(
ID int not null identity(1,1) primary key,
isim varchar(500),
soyisim varchar(500),
cinsiyet varchar(500),
tarih_ise_giris datetime
)
Sql Row Number – Satır Sayısı
Sql sorguda ID alanı sürekli değişiyor ve düzenli artan bir alana ihtiyaç duyuyorsanız RowNumber kullanabilirsiniz.
SELECT ROW_NUMBER() OVER (ORDER BY ID ASC) AS ROWID, * FROM Personeller
Bir kullanımıda aşağıdaki gibidir.
WITH satirPersonelTablosu AS
(
select *,
Satirnumarasi = row_number() OVER ( order by ID )
from Personeller
)
SELECT *
FROM satirPersonelTablosu
WHERE Satirnumarasi = 5
DataList veritabanından gelen bit değer ile checkbox check özelliği
Datalist içinde bir chackbox kontrolü var ve check özelliği veritabanından gelen bit tipteki değere göea atanacak ise aşağıdaki kodlar kullanılabilir.
///
<asp:DataList ID="DataList1" runat="server" Width="70%">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%#Convert.ToBoolean(Eval("onay")) %>' />
</ItemTemplate>
</asp:DataList>
///
Dataliste veri bağlandığında sonuç;
Ben genelde bit tipteki değerleri checkbox yerine resim olarak kullanırım;
///
<asp:DataList ID="DataList1" runat="server" Width="70%">
<ItemTemplate>
<img alt="" src="<%#imageconvert(Convert.ToString(Eval("webde_goster"))) %>" width="16px" />
</ItemTemplate>
</asp:DataList>
///
c# kod tarafında;
///
public string imageconvert(string resimyol)
{
string resim="images/True.png";
if (resimyol == "False")
{
resim = "images/False.png";
}
return resim;
}
///
Dataliste veribağlandığında sonuç;
Asp.Net ile Facebook tarzı resimli AutoCompleteExtender
Yukarıdaki şekildeki gibi autocompleteextender içinde resim göstermek veya özelleştirmek aşağıdaki şekilde yapılabilir.
tag arasına;
///
<script type="text/javascript">
function Rehber_Calistir(sender, e) {
var rehber = sender.get_completionList().childNodes; //completeextender listesini aldık.
for (var i = 0; i < rehber.length; i++) {
var div = document.createElement("DIV"); //her eleman için bir div açtık
var aryRehber = resim.split("@@"); //her eleman için resim ve diğer bilgiler arasına @@ işareti koydum. Bunu split ettik
div.innerHTML += "<span style='float:left;width:30%'>;<img style = 'height:77px;' src = 'sysadmin/resimler/personelresimleri/" + aryRehber[0].replace("_", "") + "' />;<br />;</span>;"; //div içine bir resim ekledim ve resmin yolunu verdim. ayrıca style ekledik
div.innerHTML += "<font style='font-size:10px'>; Firma : " + aryRehber[1].replace("_", "") + "<br />; Dahili : " + aryRehber[2].replace("_", "") + "<br />; Telsiz : " + aryRehber[3].replace("_", "") + "<br />; SirketNo : " + aryRehber[4].replace("_", "") + "<br />; KisaKod : " + aryRehber[5].replace("_", "") + "<br />;<br />;</font>;"; //split ettiğim diğer elemanları div içine yerleştirdik.
div.innerHTML += "<hr />;"; //her eleman için bir hr ekledik.
rehber[i].appendChild(div); //autocompleteextender listesindeki elemana div kontrolünü ekledik
var autocompleteLoadingGif = document.getElementById('ctl00_ContentPlaceHolder1_txttelrehber');
autocompleteLoadingGif.style.backgroundImage = 'none'; //autocompleteextender için loading gifi işlem sonunda kaldırdık.
}
}
function RehberSecim(source, eventArgs) {
var rehberid = source._selectIndex;
var rehber = source.get_completionList().childNodes;
var value = rehber[rehberid]._value; //seçili eleman değeri
source.get_element().value = rehber[rehberid].firstChild.nodeValue; //resimli autocompleteextender ile seçili elemanı textbox içine yazdırdık.
}
function ShowProcessImage() {
var autocompleteWithGif = document.getElementById('ctl00_ContentPlaceHolder1_txttelrehber');
autocompleteWithGif.style.backgroundImage = 'url(statikimg/loading.gif)';
autocompleteWithGif.style.backgroundRepeat = 'no-repeat';
autocompleteWithGif.style.backgroundPosition = 'right'; //işlem sırasında textbox içine loading gif ekledik.
}
</script>;
///
Aspx html tarafına;
///
<asp:TextBox ID="txttelrehber" runat="server" Width="388px" Font-Names="Trebuchet MS">;</asp:TextBox>;
<asp:AutoCompleteExtender ID="TextBox1_AutoCompleteExtender" runat="server" DelimiterCharacters=""
Enabled="True"
ServiceMethod="complete"
ServicePath=""
TargetControlID="txttelrehber"
CompletionListCssClass="autocompMini" UseContextKey="True" MinimumPrefixLength="2"
OnClientPopulated="Rehber_Calistir" OnClientItemSelected="RehberSecim"
OnClientPopulating="ShowProcessImage">;
</asp:AutoCompleteExtender>;
///
C# kod tarafına;
///
[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string[] complete(string prefixText, int count)
{
//veritabanı detaylı kullanımı : http://sedatkartal.net/?p=634
//datareader işlemleri
.
.
.
string[] strehberliste = new string[ds.Tables[0].Rows.Count]; //veritabanından gelen listeyi aldım.
int i = 0;
try
{
foreach (DataRow rdr in ds.Tables[0].Rows)
{
strehberliste.SetValue(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(string.Format("{0}", rdr["AdSoyad"]), rdr["Resim"].ToString() + "@@_" + rdr["Firma"] + "@@_" + rdr["Dahili"].ToString() + "@@_" + rdr["Telsiz"].ToString() + "@@_" + rdr["SirketNo"].ToString() + "@@_" + rdr["KisaKod"].ToString()), i); //resim ve diğer alanlar için aralara @@ işareti koydum. split ederek istediğim alana ulaşacağım.
i++;
}
}
catch (Exception ex)
{
throw;
}
finally
{
}
return strehberliste;
}
///
Sql haftanın gün ismini ve ay ismini almak
Sql sorgusu ile datetime tipte bir kolondaki tarih değerinin Türkçe veya ingilizce olarak gün ve ay ismini almak, yılın veya ayın kaçıncı gününde olduğunu almak gibi işlemler aşağıdaki şekilde yapılabilir.
Öncesinde aşağıdaki sorguyu çalıştırırsak gün ve ay isimleri ingilizce olarak döner.
SET LANGUAGE English;
Türkçe gün ve ay isimleri için öncelikle aşağıdaki kod çalıştırılır
SET LANGUAGE Turkish;
SELECT
DATENAME(dw, Tarih) AS HaftaninGunu, –Haftanın gününü döner.
DATENAME(m, getdate()) As AyAdi, –Ay adını döner
DATEPART(dw, Tarih) AS HaftaninKacinciGunu, — haftanın kaçıncı günü olduğunu döner 1…7
DATEPART(y, getdate()) AS YilinHangiGunu, –yılın kaçıncı gününde olduğunu döner
DATEPART(m, getdate()) AS AyinHangiGunu –ayın kaçıncı günüde olduğunu döner
FROM tblTarih
SQL Update sorgusu içinde Case When kullanımı
Sql uptade sorgusunda case when kullanımı aşağıdaki şekilde yapılabilir.
UPDATE tblTarih –tablo adınız
SET Ay_Eng = –güncellenecek kolon
(
CASE
WHEN
Ay = ‘Ocak’
THEN
‘January’
SQL While döngüsü
ID ve tarihin otomatik değilde manuel eklendiği mevcut bir tabloya 1ay içindeki kayıtları ve ID girmem gerekiyordu. Buna uygun olarak aşağıdaki t-sql sorgusunu hazırladım.
declare @IDsayac int – int tipte bir değişken tanımladım
declare @tarih datetime – bir tarih değişkeni tanımladım
set @IDsayac = 2026 – counter değişkene bir değer atadım
set @tarih = ’2012-03-03′ – tarih değişkenime bir değer atadım
while @IDsayac < 2057 – koşulumu belirttim
begin – başlatıldı
set @IDsayac = @IDsayac + 1 – her turda counter değişen değeri 1artacak
set @tarih = @tarih + 1 – her turda tarih değişkeni 1gün artacak
INSERT INTO tblTarih(Tarih,TarihID) VALUES (@tarih,@IDsayac) – her turda yapmak tblTarih tabloma counter ve tarih verilerini ekleyecek
end – döngü turunu tamamladı
begin ve end arasına her döngü turunda yapılmak istenen işler yazılabilir.
Açıklama satırsız ;
declare @IDsayac int
declare @tarih datetime
set @IDsayac = 2026
set @tarih = ’2012-03-03′
while @IDsayac < 2057
begin
set @IDsayac = @IDsayac + 1
set @tarih = @tarih + 1
INSERT INTO tblTarih(Tarih,TarihID) VALUES (@tarih,@IDsayac)
end
“FIX Request format is unrecognized for URL unexpectedly ending in” Hatası çözümü
Web servis kullanırken geç yükleme gibi farklı nedenlerden kaynaklanan hata için web.config dosyasında bir ayarlama yapmak yeterli olacaktır.
“FIX Request format is unrecognized for URL unexpectedly ending in” hatası çözümü için aşağıdaki satırı web.config dosyanıza ekleyiniz.
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
Son Yazılar
Bağlantılar
Hakkımda ;
Kategoriler
- .NET (39)
- ASP.NET (32)
- Sanal Pos (3)
- Asynchronous Web Services (1)
- C# (36)
- C# Web Servis (3)
- Web Servisleri (2)
- ASP.NET (32)
- C# WMI (4)
- Genel (100)
- JavaScript (5)
- MIKROTIK API (1)
- MSSQL (1)
- PLESK API (3)
- SQL SERVER (2)









_507.png)
_512.png)
_513.png)