GridView da Seçili Satırı Güncellemek

 

Merhaba arkadaşlar bu makalemizde GridView nesnesinde seçtiğimiz satırı güncelleyeceğiz. GridView1_SelectedIndexChanged kısmında seçili satırdaki verileri Textbox ta göstereceğiz.  OnRowDataBound a yazacağımız küçük bir kod parçasıyla; seçili satırın arka plan rengini değiştireceğiz.


GridView in AutoGenerateColumns="false" ve ayrıca AutoGenerateSelectButton="True" yapınız.

 

Screenshot











Şekil 1


 

 

 

 

 

 

 

 

 

 

Şekil 2

Default.aspx.cs

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.SqlClient;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

public partial class _Default : System.Web.UI.Page

{

 

    SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\kategori.mdf;Integrated Security=True");

    SqlDataAdapter adp;

    SqlCommand komut;

    DataSet ds;

    int k;

   

    protected void Page_Load(object sender, EventArgs e)

    {

       

        if (!IsPostBack)

        {

            txt_ID.Text="0";

            bindData();

        }

 

    }

 

    protected void bindData()

    {

 

 

        SqlConnection con = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\kategori.mdf;Integrated Security=True");

        {

            DataTable dt = new DataTable();

            con.Open();

            SqlCommand cmd = new SqlCommand("select * from [dbo].[Table]", con);

            SqlDataAdapter da = new SqlDataAdapter(cmd);

 

            da.Fill(dt);

            con.Close();

            if (dt.Rows.Count > 0)

            {

 

                GridView1.DataSource = dt;

                GridView1.DataBind();

            }

        }

    }

 

    protected void GridView1_SelectedIndexChanged(object sender, GridViewSelectEventArgs e)

    {

        txt_ID.Text = GridView1.Rows[e.NewSelectedIndex].Cells[1].Text;

        txt_Yazar.Text = GridView1.Rows[e.NewSelectedIndex].Cells[2].Text;

        txt_Kitap.Text = GridView1.Rows[e.NewSelectedIndex].Cells[3].Text;

        txt_Fiyat.Text = GridView1.Rows[e.NewSelectedIndex].Cells[4].Text;

    }

 

    protected void Button1_Click(object sender, EventArgs e)

    {

        // string ad;

        //ad = txt_Yazar.Text;

        k = Convert.ToInt32(txt_ID.Text);

        /*Update komutuyla güncellestirmemizi yapıyoruz.

        Set kısmından sonra güncellestirecegiz alan ve yeni degeri

        belirtiliyor.*/

        string guncelle = "update [dbo].[Table] set Yazar='" + txt_Yazar.Text + "',Kitap='" +

        txt_Kitap.Text + "',Fiyat='" + txt_Fiyat.Text + "' where Id='" + k + "'";

        //Burada Yazar Ad , Kitap ve Fiyat güncellestiriyoruz.

        adp = new SqlDataAdapter(guncelle, con);

        ds = new DataSet();

        adp.Fill(ds);

        Response.Write("Girilen Bilgiler Güncellendi");

        bindData();

 

    }

 

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        k = Convert.ToInt32(txt_ID.Text);

        if (e.Row.RowType.Equals(DataControlRowType.DataRow))

        {

            DataRowView drv = (DataRowView)e.Row.DataItem;

            for (int i = 0; i < drv.DataView.Table.Columns.Count + 1; i++)

            {

                //Guncelledigimiz satirin arka plan rengini degistiriyoruz.

               if ((int)DataBinder.Eval(e.Row.DataItem, "ID") == k)

                    e.Row.Cells[i].BackColor = System.Drawing.Color.Red;

 

            }

        }

 

    }

 

       }

 

 

  

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>

</head>

<body>

    <form id="form1" runat="server">

        <div>

            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" AutoGenerateSelectButton="True" OnSelectedIndexChanging="GridView1_SelectedIndexChanged" OnRowDataBound="GridView1_RowDataBound" BackColor="White" BorderColor="#336666" BorderStyle="Double" BorderWidth="3px" GridLines="Horizontal">

            <Columns>

                <asp:BoundField DataField="Id" HeaderText="Id"/>

                <asp:BoundField DataField="Yazar" HeaderText="Yazar"/>

                <asp:BoundField DataField="Kitap" HeaderText="Kitap"/>

                <asp:BoundField DataField="Fiyat" HeaderText="Fiyat"/>

            </Columns>

                <FooterStyle BackColor="White" ForeColor="#333333" />

            <HeaderStyle BackColor="#336666" ForeColor="#ffffff" Font-Bold="True"/>

                <PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" />

            <RowStyle BackColor="White" ForeColor="#333333"/>

                <SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />

                <SortedAscendingCellStyle BackColor="#F7F7F7" />

                <SortedAscendingHeaderStyle BackColor="#487575" />

                <SortedDescendingCellStyle BackColor="#E5E5E5" />

                <SortedDescendingHeaderStyle BackColor="#275353" />

        </asp:GridView>

        <br />

        <br />

        <div style="border:1px solid black; width:336px;">

 

            <table class="auto-style1">

                <tr>

                    <td class="auto-style5">ID</td>

                    <td class="auto-style3">

                        <asp:TextBox ID="txt_ID" runat="server" ReadOnly="True"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td class="auto-style2">Yazar</td>

                    <td class="auto-style4">

                        <asp:TextBox ID="txt_Yazar" runat="server"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td class="auto-style5">Kitap</td>

                    <td class="auto-style3">

                        <asp:TextBox ID="txt_Kitap" runat="server"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td class="auto-style2">Fiyat</td>

                    <td class="auto-style4">

                        <asp:TextBox ID="txt_Fiyat" runat="server"></asp:TextBox>

                    </td>

                </tr>

                <tr>

                    <td class="auto-style5">&nbsp;</td>

                    <td class="auto-style3">

                        <asp:Button ID="Button1" runat="server" Text="Update" OnClick="Button1_Click" />

                    </td>

                </tr>

            </table>

 

        </div>

    </form>

</body>

</html>

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...