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

سوال دوم چگونه می توان مقدار یک ستون رو که بوسیله xml پر شده (قبل از جستجو) تمامی مقادیر غیر تکراری اون رو بدست بیاریم
حالا تو حافظه ویندوز قرار دهیم یا درون فایل تکست یا هر جای دیگه مهم اینه می خوام مقادیر غیر تکراری یک ستون رو بدست بیارم

1 پاسخ

0 امتیاز

سلام ، برای جستجو در Datagridview باید از متد RowFilter کلاس DataView استفاده کنید. مثال های زیادی می تونید پیدا کنید : 

(dataGridView.DataSource as DataTable).DefaultView.RowFilter = string.Format("Field = '{0}'", textBoxFilter.Text);

 

سوال دوم : با یک دستور for و if می تونید به راحتی اینکار رو انجام بدین ( البته با Linq و... هم میشه ) ولی به نظر بنده یکی از ساده ترین هاش همین روش هست : 

for (int i = 0; i < this.dataGridView1.Rows.Count; i++)
            {
                if (this.dataGridView1.Rows[i].Cells[0].Value != null)
                {
                    string value = this.dataGridView1.Rows[i].Cells[0].Value.ToString();
                    if (!this.comboBox1.Items.Contains(value))
                    {
                        this.comboBox1.Items.Add(value);
                    }
                }
            }

 

ممنون داداش فقط چرا کد جستجو خطا ميده در صورتي که کد جستجو بالاييش که کامند کردم کار ميکنه

آيا قبلش يه چيزي مثل ديتاست بايد تعريف کرد يا نه

توسط (119 امتیاز) 1 2 9
خطا مشخصه و چیز مبهمی نداره . شما اصلا ستونی به نام Field  در Datatable ( پایگاه دادهتون) دارید ؟ به نظر نمیاد همچین فیلدی داشته باشید . دقت کنید اسم Header دیتاگرید ویو رو قرار ندین و باید استم دقیق فیلد در Datatable رو بنویسید . می تونید Breakpoint بزارید و برنامه رو خط به خط اجرا کنید و مراحل رو چک کنید . ببینید اصلا چیزی در Datatable قرار داره .

سوال دوم : شما از روش Binding استفاده کردید برای اتصال Datagridview به پایگاه داده ( یعنی از خصوصیت DataSource استفاده کردین ؟ ) یا اینکه به صورت دستی با Rows.Add سطر ها رو اضافه کردین. کد بالا فقط در صورتی کار می کنه که شما از Binding استفاده کرده باشید .
توسط (6,145 امتیاز) 5 11 116
سلام آقای ابراهیمی بنده اطلاعات زیادی در مورد دیتا گرید ندارم و زیاد با این کنترل کار نکردم

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

با کدی که درون عکس کامند کردم به راحتی عمل جستجو یا همان فیلتر کردن انجام می شود ولی می خوام یه چک باکس قرار بدم و اگه تیک خورده باشد دقیقا عین کلمه ای که باید جستجو شود  رو جستجو کند و مقادیر یافت شده رو دوباره داخل همان دیتا گرید نمایش بدهد

اینم ستونی که می خوام مقادیرش جستجو بشه

string filterField = "wordentry";
توسط (119 امتیاز) 1 2 9
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,926 کاربر

دسته بندی ها

...