DataGridView da Kayıt Arama ve TextBox a Aktarma

Merhaba arkadaşlar bu makalemizde dataGridView nesnesinde Id numarasına göre arama yapacağız. Bir önceki, bir sonraki, ilk kayıt veya son kayıta gitmek için formumuza buttonlar ekleyeceğiz. Ayrıca kayıtlar arasında gezerken dataGridView da seçili satırdaki dataları textbox ta göstereceğiz.    


Screenshot










Şekil 1

Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        SqlDataAdapter da;
        DataSet ds;
        CurrencyManager cm;
        DataRowView dr;

        string connatring = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|kategori.mdf;Integrated Security=True;Connect Timeout=30";

        private void Form1_Load(object sender, EventArgs e)
        {
            da = new SqlDataAdapter("select * from [dbo].[Table]", connatring);
            ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            cm = (CurrencyManager)dataGridView1.BindingContext[ds.Tables[0]];
            btnIlk_Click(sender, e);
        }

        private void btnIlk_Click(object sender, EventArgs e)
        {
            cm.Position = 0;
            dr = (DataRowView)cm.Current;
            txtId.Text = dr.Row[0].ToString();
            txtYazar.Text = dr.Row[1].ToString();
            txtKitap.Text = dr.Row[2].ToString();
            txtFiyat.Text=dr.Row[3].ToString();
        }

        private void btnSonraki_Click(object sender, EventArgs e)
        {
            if (cm.Position != cm.Count)
            {
                cm.Position += 1;
                dr = (DataRowView)cm.Current;
                txtId.Text = dr.Row[0].ToString();
                txtYazar.Text = dr.Row[1].ToString();
                txtKitap.Text = dr.Row[2].ToString();
                txtFiyat.Text = dr.Row[3].ToString();
            }

        }

        private void btnOnceki_Click(object sender, EventArgs e)
        {
            if (cm.Position != 0)
            {
                cm.Position -= 1;
                dr = (DataRowView)cm.Current;
                txtId.Text = dr.Row[0].ToString();
                txtYazar.Text = dr.Row[1].ToString();
                txtKitap.Text = dr.Row[2].ToString();
                txtFiyat.Text = dr.Row[3].ToString();
            }

        }

        private void btnSon_Click(object sender, EventArgs e)
        {
            cm.Position = cm.Count;
            dr = (DataRowView)cm.Current;
            txtId.Text = dr.Row[0].ToString();
            txtYazar.Text = dr.Row[1].ToString();
            txtKitap.Text = dr.Row[2].ToString();
            txtFiyat.Text = dr.Row[3].ToString();
        }

        private void btnAra_Click(object sender, EventArgs e)
        {
            try
            {
                DataView dv = new DataView(ds.Tables[0]);
                dv.Sort = "Id";
                int i = dv.Find(txtAra.Text);
                if (i < 0)
                //{
                    MessageBox.Show("Kayıt Bulunmamakta..");
                }
                else
                {
                    cm.Position = i;
                    dr = (DataRowView)cm.Current;
                    txtId.Text = dr.Row[0].ToString();
                    txtYazar.Text = dr.Row[1].ToString();
                    txtKitap.Text = dr.Row[2].ToString();
                    txtFiyat.Text = dr.Row[3].ToString();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Hatalı Giriş..");
                txtAra.Clear();
                txtAra.Focus();
            }
        }
    }

}
   

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...