GridView RowDataBound Olayları-5
Merhaba arkadaşlar. Bu makalemizde GridView daki sütundaki değere göre Buttonu aktif veya disable edeceğiz. Personel ismine göre bu işlemi gerçekleştireceğiz. GridView1_RowDataBound a aşağıdaki kodları yazın.
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Datatable tanımlıyoruz.
DataTable dt = new DataTable("Personel");
//Sutunları oluşturuyoruz.
DataColumn sutun1 = new DataColumn("ID");
DataColumn sutun2 = new DataColumn("Personel");
DataColumn sutun3 = new DataColumn("Birim");
//Sutunları DataTable ekliyoruz.
dt.Columns.Add(sutun1);
dt.Columns.Add(sutun2);
dt.Columns.Add(sutun3);
//DataRow tanımlıyoruz.
DataRow dr = dt.NewRow();
//DataRow ile satırdaki sutunlara
//sırasıyla veriyi ekliyoruz.
dr[0] = "1";
dr[1] = "Bahadır ŞAHİN";
dr[2] = "Ar-Ge";
//satırı Datatable a ekliyoruz.
dt.Rows.Add(dr);
//2. satır giriliyor.
DataRow dr2 = dt.NewRow();
dr2[0] = "2";
dr2[1] = "Haluk AKMAN";
dr2[2] = "Ar-ge";
dt.Rows.Add(dr2);
//3. satır giriliyor.
DataRow dr3 = dt.NewRow();
dr3[0] = "3";
dr3[1] = "Fatih KOÇ";
dr3[2] = "Ar-ge";
dt.Rows.Add(dr3);
//DataTable i DataGridView a kaynak gösteriyoruz.
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[1].Text == "Bahadır ŞAHİN")
{
//Personel ismi sütunda tanımlı olan isim olduğunda button pasif oluyor.
Button btn = (Button)e.Row.FindControl("Button1");
Button1.Text = "Button şu an pasif!";
Button1.Enabled = false;
}
}
}
}
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" OnRowDataBound="GridView1_RowDataBound" runat="server">
</asp:GridView>
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
</div>
</form>
</body>
</html>
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek dileğiyle. Hoşçakalın. Bahadır ŞAHİN