Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
Bir DataGridView 'e 'Guncelle' ve 'Sil' butonları ekledikten sonra.
Eğer her kayıt için 'ID' diye bir anahtar olduğunu varsayarsak aşağıdakine benzer şekilde güncelleme veya silme yapabilirsin.
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0) return;
if (dataGridView1.Columns[e.ColumnIndex] == dataGridView1.Columns["Guncelle"])
{
int ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["ID"].Value.ToString().Trim());
BaskiTakip kayit = new BaskiTakip();
kayit.ID = ID;
kayit.KayitAl(kayit.ID);
BaskiKaydiGoruntule gor = new BaskiKaydiGoruntule(kayit);
gor.ShowDialog();
dataGridView1.DataSource = Baglanti.TabloSorgula(soncumle);
}
if (dataGridView1.Columns[e.ColumnIndex] == dataGridView1.Columns["Sil"])
{
int ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["ID"].Value.ToString().Trim());
if(MessageBox.Show(ID + " Nolu Kaydi Silmek İstediğinizde Eminmisiniz", "Eminmisiniz", MessageBoxButtons.OKCancel).ToString()=="OK")
BaskiTakip.sil(ID);
dataGridView1.DataSource = Baglanti.TabloSorgula(soncumle);
}
}
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
Eğer gridview üzerinde güncelleme yapmak istersen
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0) return;
if (dataGridView1.Columns[e.ColumnIndex] == dataGridView1.Columns["Guncelle"])
{
int ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["ID"].Value.ToString().Trim());
string FirmAdi = dataGridView1.Rows[e.RowIndex].Cells["FirmaAdi"].Value.ToString().Trim();
string Telefon = dataGridView1.Rows[e.RowIndex].Cells["Telefon"].Value.ToString().Trim();
string Adres = dataGridView1.Rows[e.RowIndex].Cells["Adres"].Value.ToString().Trim();
string email = dataGridView1.Rows[e.RowIndex].Cells["email"].Value.ToString().Trim();
if(FirmAdi==string.Empty){
MessageBox.Show("Firma Adı Boş Geçilemez");
dataGridView1.DataSource = Baglanti.TabloSorgula("SELECT * FROM Musteri;");
dataGridView1.Columns["ID"].ReadOnly = true;
return;
}
try
{
Baglanti.SorguGonder("UPDATE Musteri SET FirmaAdi ='" + FirmAdi + "', Telefon = '" + Telefon +
"', Adres = '" + Adres + "', email = '" + email + "' WHERE ID=" + ID + ";");
}
catch (Exception ex)
{
MessageBox.Show("İşlemde Hata Gerçekleşti." + ex.ToString());
return;
}
MessageBox.Show(FirmAdi + " Adlı Firmanın Kaydı Güncellendi.");
}
}
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
pardon bunlar c# form içinmiş. asp.net de de benzer şekildedir umarım.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
engineer58
Kayıt: 16.03.2006 |
|
İlgilendiğin için teşekkür ederim ama ben gridview fln kullanmadım keşke önce aklıma gelseydi. Ben data readera aldım verileri sonra her kayıt için table a row ekledim daha sonra her kayıtın sütun değerleri için cell ekledikten sonra ilgili kaydın yanına sil ve değiştir butonu koydum. inş en baştan data sete fln dönmeme gerek kalmaz
|
|
Yazar |
|
extreme
Kahramanmaras
admin
Kayıt: 24.10.2006 |
|
engineer58 yazdi | İlgilendiğin için teşekkür ederim ama ben gridview fln kullanmadım keşke önce aklıma gelseydi. Ben data readera aldım verileri sonra her kayıt için table a row ekledim daha sonra her kayıtın sütun değerleri için cell ekledikten sonra ilgili kaydın yanına sil ve değiştir butonu koydum. inş en baştan data sete fln dönmeme gerek kalmaz |
buton seni bir sayfaya yönlendirse. Sonra o sayfaya verileri parametre olarak göndersen ve orada güncelleme yapıp geri dönsen olabilir belki ama büyük güvenlik açığı bence.
The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com
|
|
Yazar |
|
hazakli
Istanbul
Kayıt: 19.01.2007 |
|
Ben de gridview nesnesini kullanmayı tavsiye ederim. Aşağıda örnek bir kod yazdım. Buna benzer şekilde istediğin komutları çalıştırabilirsin.
HTML içinde:
<asp:GridView .... >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" Text="Sil" CommandName="KOMUTADI" CommandArgument='<%#Eval("ID").ToString() %>' ></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Kod içinde:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName = "KOMUTADI")
{
string id = e.CommandArgument.ToString();
.....
.....
}
}
|
|
Yazar |
|
engineer58
Kayıt: 16.03.2006 |
|
Hepinize teşekkür ederim arkadaşlar sorunu çözdüm butonun click eventini kullanmak yerine oncommand kullandım ayrıca sil ve güncelle işlemlerinin ikisi için aynı eventi çağırıyorum artık çok güzel oldu
|
|
Yazar |
|
watthana
uzayli
Kayıt: 02.02.2007 |
|
Benim de buna benzer bir sorum var,ayrı baslık acmak ıstemedım...
Veri tabanında cektigim kayıtların türüne göre yanına otomatik olarak radiobuton ve ya checkbox ve ya baska bir yapı eklemek istiyorum.
yani tür=1 ise radiobuton,tür=2 ise checkbox koysun misal olarak.
nasıl yapabilirim bunu?
ASIKSAN YARE,
ALDANMA AGYARE...
|
|
Yazar |
|
watthana
uzayli
Kayıt: 02.02.2007 |
|
yoq mu yaw bir yardım eli...
ASIKSAN YARE,
ALDANMA AGYARE...
|
|
Yazar |
|
hazakli
Istanbul
Kayıt: 19.01.2007 |
|
watthana yazdi | Benim de buna benzer bir sorum var,ayrı baslık acmak ıstemedım...
Veri tabanında cektigim kayıtların türüne göre yanına otomatik olarak radiobuton ve ya checkbox ve ya baska bir yapı eklemek istiyorum.
yani tür=1 ise radiobuton,tür=2 ise checkbox koysun misal olarak.
nasıl yapabilirim bunu?
|
gridview nesnesi ile yapabilirsin bu işlemi.
HTML kısmında:
<asp:GridView .... >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%FONKSIYONADI(Eval("ALAN_ADI").ToString())%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Kod kısmında da:
yukardaki fonksiyonun içerğini yazacaksın.
public string FONKSIYONADI(string PARAMETRE)
{
switch (PARAMETRE)
{
case "1": return ..... break;
case "2": return ..... break;
case "3": return ..... break;
.....
}
}
|
|
Yazar |
|
watthana
uzayli
Kayıt: 02.02.2007 |
|
benim dondurmek istediğim orda direk RadioButon ve checkbox ve ya ne gelcekse o yapı.
bir int ve ya string deger degil...
ASIKSAN YARE,
ALDANMA AGYARE...
|
|
Yazar |
|
offman
Kayseri
Kayıt: 20.01.2006 |
|
aspx sayfası
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="grdItems" runat="server" AutoGenerateColumns="False"
OnRowDataBound="grdItems_RowDataBound" CellPadding="4" ForeColor="#333333"
GridLines="None">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:TemplateField HeaderText="Type">
<ItemTemplate>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Data">
<ItemTemplate>
<asp:Label ID="lblName" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</div>
</form>
</body>
</html>
aspx.cs sayfası
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
private enum Type { Type1 = 0, Type2 = 1};
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
this.Load_Data();
}
private void Load_Data()
{
List<MyTable> arrList = new List<MyTable>();
for (int i = 0; i < 10; i++)
{
MyTable oItem = new MyTable(i%2, "İucoders v1 ne durumda?");
arrList.Add(oItem);
}
this.grdItems.DataSource = arrList;
this.grdItems.DataBind();
}
protected void grdItems_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
MyTable oItem = (MyTable)e.Row.DataItem;
Label lblName = e.Row.FindControl("lblName") as Label;
lblName.Text = oItem.Name;
if (oItem.Type == Convert.ToInt32(Type.Type1))
{
Literal chcBox = new Literal();
chcBox.ID = "chcBox";
chcBox.Text = String.Format("<input id={0}Radio1{1}{0} name={0}R1{0} type={0}radio{0} value={0}{2}{0} />", """, e.Row.RowIndex, oItem.Name.Substring(0, 8));
e.Row.Cells[0].Controls.Add(chcBox);
}
else
{
CheckBox chcBox = new CheckBox();
chcBox.ID = "chcBox";
chcBox.Text = oItem.Name.Substring(0,8);
e.Row.Cells[0].Controls.Add(chcBox);
}
}
}
}
public class MyTable
{
public MyTable(int _type, string _name)
{
Type = _type;
Name = _name;
}
public int Type;
public string Name;
}
Ufak bir senaryo geliştirdim seninkine yakın veriyi database den cekmiyorda random uretior olayı gorebilmen için. Sonra gride bind ediorus ve gridin rowdatabound eventinden istediğimis type değişkeninin duurumuna gore sayfaya checkbox veya radiobutton koyuyoruz.
Checkbox da sorun yok ama eğer orada asp.net RadioButton classının bir instance'ını GroupName attributune ne verirsen ver (Sabit olması kaydı ile bile)alıp gride eklersen grid render edilirken RadioButton un GroupName attributu render aşamasında random generic edilio. Bu da onu RadiButton lıkdan çıkartıyor bunu aşmak için orada html radibutton'ı kullanrak bir işlem gerçekleştirdim.
Muhtemelen o radioButton ın check olup olmadığını nasıl belirlerim asp.net tarafında die soruyrosun.
this.grdItems.Rows[n].FindControl("chcBox");
Bu sana bir literal dondercek bunun textinde eğer checked="checked" die bir text varsa o radio check olmus demektir.İyi çalışamlar.
331. KSD
*.NET DEVELOPER
|
|
Yazar |
|
offman
Kayseri
Kayıt: 20.01.2006 |
|
""" bu kısım asp.cs de iucoders in textleri gosterirken yapdığı işlemler sonucu bu hale gelmiş aslında burası bosluklu yascam bakalım yiyecekmi " " seklinde olması gerekior aradaki bosluklar yok.
331. KSD
*.NET DEVELOPER
|
|
Yazar |
|
offman
Kayseri
Kayıt: 20.01.2006 |
|
offman yazdi | """ bu kısım asp.cs de iucoders in textleri gosterirken yapdığı işlemler sonucu bu hale gelmiş aslında burası bosluklu yascam bakalım yiyecekmi " " seklinde olması gerekior aradaki bosluklar yok. |
O da yemedi "" karakterleri arasında ters slash olcak .
331. KSD
*.NET DEVELOPER
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | | | | |