PDA

View Full Version : مبتدی: اتو کامپلیت و ورود اعداد در تکست باکس



civilmajor
پنج شنبه 17 اردیبهشت 1394, 08:18 صبح
سلام
من دوتا سوال دارم و ممنون میشم بهشون پاسخ بدید و مشکلم رو برطرف کنید
قبلا از توجهتون سپاس گزارم
سوال اول :
میخوام داخل تکست باکسام فقط عدد نوشته بشه و حروف وارد نشه و یا بلعکس فقط حروف نوشته بشه و عدد وارد نشه
برای این کار از این کد استفاده کردم و در زمان وارد کردن عدد یا حروف امکان ادیت و ویرایش باکس با استفاده از BackSpace وجود نداره و تنها راهش انتخاب کل متن یا اعداد داخل تکست باکسه و نهایتا وارد کردن مجدد اطلاعات
منطورم اینه که مثلا اگر قصد وارد کردن این عدد را داشته باشم (1258) و اشتباها این عدد وارد بشه (1257) و بنده بخوام عدد 7 را پاک و عدد 8 را وارد کنم نمیتونم و باید عدد 1258 را با دابل کلیک انتخاب و عدد 1258 را یک بار دیگه وارد کنم
اگر امکانش هست کمکم کنید و راه حل را بهم بگید
سپاس
سوال درم :
میخوام در زمان سرچ از لیست dataGridView به محض وارد کردن اول یک کلمه یا عدد هرچی در گرید ویو هست که با اون حروف شروع میشم بطور خودکار در لیست نمایش داده بشه(نمیدونم اسم درستش چیه اما فک کنم AutoComplete )
مثلا اگر میخام بنویسم "محمد" به محض زدن حرف "م" هرچی اسم که با این حرف در dataGrid هست رو بهم نشون بده و با ادامه کلمه که وارد میشه مثلا "مح" از بین اون منتخب ها اونایی مه با "مح" هماهنگ هستند رو فاکتور بگیره و نمایش بده تا سرعت جستجو در برنامم بالا بره
لطفا راه کار را بهم آموزش بدید و کد مربوطه را راهنماییم کنید.
بازهم سپاس از توجهتون

محمد رضا فاتحی
پنج شنبه 17 اردیبهشت 1394, 08:51 صبح
فعلا علی الحساب این کد رو برای سوال اولت در نظر بگیر تا برسیم سر سوال دوم
فقط برای عدده و BackSpace و Delete رو هم ساپورت می کنه
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (!(char.IsDigit(e.KeyChar) || e.KeyChar == (char)Keys.Back || e.KeyChar == (char)Keys.Delete))
{
e.Handled = true;
}
}

شاید بشه ساده تر هم نوشت

محمد رضا فاتحی
پنج شنبه 17 اردیبهشت 1394, 08:52 صبح
ساده شد
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (!(char.IsDigit(e.KeyChar) || char.IsControl(e.KeyChar)))
{
e.Handled = true;
}
}

civilmajor
پنج شنبه 17 اردیبهشت 1394, 10:36 صبح
عالی بود..
ممنون
برای حروف باید چکار کنم؟

محمد رضا فاتحی
پنج شنبه 17 اردیبهشت 1394, 10:47 صبح
اگه منظورتون هر چیزی غیر از عدده
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
if (char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}

civilmajor
پنج شنبه 17 اردیبهشت 1394, 10:54 صبح
دمت گرم..
حل شد.
مونده سوال دومم:
این کد رو پیدا کردم :

SqlDataAdapter da = new SqlDataAdapter("queryString", connection);
DataSet ds = new DataSet();
da.Fill(ds, "TableName");


DataView dv = new DataView(ds.Tables["TableName"]);
yourGridView.DataSource = dv;


اما نهایتا که این کد رو در رویداد textchange باکس سرچ وارد میکنم dv رو نمیشناسه...
باید چیکار کنم؟