Yazilim Mutfagi Forumu Homepage
Forum Home Forum Home > PROGRAMLAMA > .NET Teknolojileri > ASP.NET
  New Posts New Posts RSS Feed - textboxtan arama yapılan id bilgisini gridviewe ak
  FAQ FAQ  Forum Search   Register Register  Login Login

textboxtan arama yapılan id bilgisini gridviewe ak

 Post Reply Post Reply
Author
Message
marnovo View Drop Down
Newbie
Newbie


Joined: 26-Şubat-2016
Location: izmir
Status: Offline
Points: 32
Post Options Post Options   Thanks (0) Thanks(0)   Quote marnovo Quote  Post ReplyReply Direct Link To This Post Topic: textboxtan arama yapılan id bilgisini gridviewe ak
    Posted: 07-Ocak-2017 at 22:21
Merhaba arkadaşlar,veritabanında bulunan id'yi textboxtan arama yaparak var olan id'ye ait bilgileri gridviewe nasıl aktarabilirim? 

Yapmak istediğimi tekrar anlatayım; 

1-textboxa id no veya barkod no girdik. 

2-id veya barkod noyu veri tabanından buton vasıtasıyla aradı.Bulduğu kaydı datatable olarak ekledi. 

3- tekrar textboxa değer girdik bulduğu kaydı önceki kayıtın altına tablo olarak ekledi. 

Back to Top
gezgin View Drop Down
Groupie
Groupie
Avatar
null

Joined: 14-Eylül-2012
Location: Turkey
Status: Offline
Points: 76
Post Options Post Options   Thanks (0) Thanks(0)   Quote gezgin Quote  Post ReplyReply Direct Link To This Post Posted: 08-Ocak-2017 at 20:08
en kolayı , arama yaptığın id leri bir listede tut, her arama yaptığında veritabnaında, bu listedeki tüm idler için aramayı yeniden yap, gridi her seferinde sıfırdan gelen data ile bind et.  bu en kolay yöntemi.

çok yoğun arama yapılacak ise bu yöntem biraz performans kaybı yapabliilir, o zaman da aramanın sonucunda dönen datatablei saklayıp her seferinde yenisi ile birleştirmen lazım


Back to Top
marnovo View Drop Down
Newbie
Newbie


Joined: 26-Şubat-2016
Location: izmir
Status: Offline
Points: 32
Post Options Post Options   Thanks (0) Thanks(0)   Quote marnovo Quote  Post ReplyReply Direct Link To This Post Posted: 11-Ocak-2017 at 18:19

Merhaba gezgin hocam sorumu aşağıdaki kodla çözdüm.Fakat bir şeyi yapamadım.Textboxtan aynı barkod no okuttuğumda gridview eklemesin istiyorum."Bu ürünü daha önce okuttunuz!" diye ekrana nasıl yazdırabilirim?

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:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Ekle" OnClick="Button1_Click" />
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
        <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
        <asp:Label ID="Label3" runat="server" Text=""></asp:Label>
        <br />
        <asp:Label ID="Label4" runat="server" Text=""></asp:Label>
        <asp:GridView ID="GridView1" runat="server" OnRowDeleting="GridView1_RowDeleting" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" EnableModelValidation="True">
                        <Columns>
                            <asp:ButtonField CommandName="Delete" Text="Sil" ItemStyle-ForeColor="red" >
                <ItemStyle ForeColor="Red"></ItemStyle>
                </asp:ButtonField>

                            <asp:BoundField DataField="id" HeaderText="ID" />
                            <asp:BoundField DataField="urunad" HeaderText="ÜRÜN ADI" />
                            <asp:BoundField DataField="barkodno" HeaderText="BARKOD NO" />
                        </Columns>
                        <FooterStyle BackColor="White" ForeColor="#000066" />
                        <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
                        <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                        <RowStyle ForeColor="#000066" />
                        <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />

                    </asp:GridView>

    </div>
    </form>
</body>
</html>

default.aspx.cs

public partial class Default : System.Web.UI.Page
{
    SqlConnection cnn = new SqlConnection("Data Source=(local); Initial Catalog=test; Integrated Security=yes;");
    DataTable dt = new DataTable();
    protected void Page_Load(object sender, EventArgs e)
    {
        dt.Columns.AddRange(new DataColumn[3] { new DataColumn("id"), new DataColumn("urunad"), new DataColumn("barkodno") });
        if (ViewState["bilgiler"] != null)
        {
            dt = (DataTable)ViewState["bilgiler"];
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string query = "select *  from barkod where barkodno like'" + TextBox1.Text + "'";
        SqlCommand com = new SqlCommand(query, cnn);
        cnn.Open();
        SqlDataReader dr = com.ExecuteReader();
      
        
            if (dr.HasRows)
            { 
            dr.Read();
            
                    Label1.Text = dr["id"].ToString();
                    Label2.Text = dr["urunad"].ToString();
                    Label3.Text = dr["barkodno"].ToString();

                    dt.Rows.Add(Label1.Text, Label2.Text, Label3.Text);
                    ViewState["bilgiler"] = dt;
                    GridView1.DataSource = dt;
                    GridView1.DataBind();

                    TextBox1.Focus();//textbox otomatik seçili
                    CleartextBoxes(this);//textbox temizleme
                    Label1.Text = "";
                    Label2.Text = "";
                    Label3.Text = "";
                    Label4.Text = "";
                
            
            }
            else
            {
                Label4.Text = "kayıt yok";
                TextBox1.Focus();//textbox otomatik seçili
                CleartextBoxes(this);//textbox temizleme
            }
        
       
        cnn.Close();
        }
    
    public void CleartextBoxes(Control parent)
    {

        foreach (Control c in parent.Controls)
        {
            if ((c.GetType() == typeof(TextBox)))
            {

                ((TextBox)(c)).Text = "";
            }

            if (c.HasControls())
            {
                CleartextBoxes(c);
            }
        }
    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        dt.Rows[e.RowIndex].Delete();
        GridView1.DataSource = dt;
        GridView1.DataBind();

    }
}
Back to Top
gezgin View Drop Down
Groupie
Groupie
Avatar
null

Joined: 14-Eylül-2012
Location: Turkey
Status: Offline
Points: 76
Post Options Post Options   Thanks (0) Thanks(0)   Quote gezgin Quote  Post ReplyReply Direct Link To This Post Posted: 12-Ocak-2017 at 22:44
dt.Rows.Add(Label1.Text, Label2.Text, Label3.Text);
ViewState["bilgiler"] = dt;
GridView1.DataSource = dt;
GridView1.DataBind();
yukarıdaki kodunu aşağıdaki gibi çevirmen yeterli. 


bool varmi = false;
foreach(DataRow r in dt.rows)
{
if(r["id"].ToString() == Label1.Text)
{
varmi = true;
break;
}
}
if(varmi)
{
//burda hatayı nasıl göstereceksen onu yaz
}
else
{
ViewState["bilgiler"] = dt;
GridView1.DataSource = dt;
GridView1.DataBind();
}


yukarıdaki kodu direk yazdım o yuzden yazım hatası olabilir.

Back to Top
 Post Reply Post Reply
  Share Topic   

Quick Reply
Name:

Message:
   NoFollow is applied to all links from this forum
 Enable BBcodes
Security Code:
Code Image - Please contact webmaster if you have problems seeing this image code  Refresh Refresh Image
Please enter the Security Code exactly as shown in image format.
Cookies must be enabled on your web browser.

Forum Jump Forum Permissions View Drop Down



This page was generated in 0.297 seconds.