0 امتیاز

سلام

دوستان من در قسمت فیلتر ردیف از یک دیتاویو این کد رو مینویسم ولی کل جدول رو نشونم میده و فیلتر نمیکنه!

تازه هر سه دسترسی اونو رو هم فعال می کنم .

            DataView dbv = new DataView(dt);
            dbv.AllowDelete = true;
            dbv.AllowEdit = true;
            dbv.AllowNew = true;
            dbv.RowFilter = Convert.ToString("ID="+TextBox1.text+"+" "+"And"+" "+Name="+"'"+TextBox2.text+"'");
            dgv_info.DataSource = dbv.Table;

dt در اینجا یک دیتا تیبل هست که کلیه اطلاعات اونجاست .

ID , Name هم نام ستون هستند .

3 پاسخ

+2 امتیاز

منظور ت اینه که میخایی ستون ها نمایش داده نشن؟

کافیه تو لود فرم بعد از لود دیتاگرید یعنی زیرش اینو بزاری

dataGridView1.Columns["ID"].Visible = false;

 

نه قربونت

منظورم اینه که من با وجود کدهایی که برای دیتاویو مینویسم ...

باز فیلترنمیکنه دیتاتیبل رو و همش رو نشون میده .

میشه لطف کنی یه استرینگ فیلتردیتاویو رو که هم توش یه اسم از شی بگیره و هم یه عدد از یه متغییر برام بنویسی . شاید من اشتباه متن فیلتر رو می نویسم .
توسط (197 امتیاز) 6 20
0 امتیاز

ببینید اگر شما تو دیتاگرید جدول رو دستی وارد کرده باشید این مشکل پیش میاد بزارید فقط خود دیتاگرید خام باشه

اینم یه نمونه

http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=15650131643359797468

نه کلیر مربوط به پارامترها هس

بهرحال اگه از دیتابیس استفاده میکنید در پایان استفاده میتونید کانکشن رو ببنیدد

الان این پروژه ای که فرستادم رو دید همون دیتاگرید و ردیف دیتابیس رو فیلتر میکنه دیگه
توسط (7,164 امتیاز) 4 7 141

http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=11976573385776626434

من یه کوچولو پروژه شما رو تغییر دادم .

یه نگاه به قسمت کلیک جستجو فرمایید و ببینید اشکال من از کجاست .

فقط دوتا مورد اول اینکه :

                dv.RowFilter = Convert.ToString("ID=" + textBox1.Text + " " + "And" + " " + "nam=" + "'" + txtsearch.Text + "'");
                dataGridView1.Columns.Clear();

جای این دوتا رو عوض کنید... اشتباه شد .

و دوم اینکه توی دیباگ تغییراتم اجرا نشد .

توسط (197 امتیاز) 6 20
0 امتیاز

دوست عزیز چندین نوع فیلتر کردن هست اگه همون اول میگفتید فیلتر جستجو  بهتر بود

بهر حال 2 روش هر دو هم متفاوت هر تعداد بخایی فیلتر میتونی بکنی

بفرما

http://www.w3-farsi.com/forum/?qa=blob&qa_blobid=17007471735635687439

 

روش اول این برای باتن5 هست

 OleDbConnection cnnn;
        OleDbCommand cmd;
        OleDbDataAdapter adap;
        private void button5_Click(object sender, EventArgs e)
        {
            cnnn = new OleDbConnection(conected);
            cnnn.Open();
            adap = new OleDbDataAdapter("select * from tbladd where id like '" + textBox1.Text + "%' AND nam LIKE '%"+txtsearch.Text+"%'", cnnn);
            dt = new DataTable();
            adap.Fill(dt);
            dataGridView1.DataSource = dt;
            cnnn.Close();
        }
    }


اینم باتن یک 
کد شما رو دست نزدم
string s1 = textBox1.Text;
            string s2 = txtsearch.Text;

            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            try
            {
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (row.Cells[0].Value.ToString().Equals(s1) && row.Cells[1].Value.ToString().Equals(s2))
                    {
                        row.Selected = true;
                        break;
                    }
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }

سلام و شرمنده بابت تاخیر دوست خوب من . من منظورم کار با dataview هست ولی میتونم با دیتابیس کار کنم اما مشکلم با dataview هست
توسط (197 امتیاز) 6 20
شما ظاهراً پروژه رو تست نکردید همینکارو میکنه 2 نوع فیلتر با دیتا گرید ویو
توسط (7,164 امتیاز) 4 7 141
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...