حذف چند تایی از جدول توسط گراید ویو
با سلام
می خواستم بدونم چطور میشه رکورد هایی که در گراید ویو انتخاب شده اند (multi select) ، رو همزمان از جدول حذف بکنیم .(حذف چند تایی)
در ضمن 2 سوال در مورد فوکوس روی تکست باکس، آیا رویدادی مثل getfocus که در VB بود، در C# هم هست . یعنی می خوام وقتی فوکوس روی تکست باکس اومد، محتوای تکست باکس انتخاب بشه .
سوال دوم اینکه، آیا میشه در هنگام لود شدن فرم، فوکوس رو به تکست باکس مورد نظر داد. یعنی مثلا 4 تا تکست باکس داریم و خاصیت tabIndex اونها از صفر تا سه هستن، حالا من می خوام با نوشتن کد در هنگام لود شدن فرم، فوکوس رو ببرم به تکست باکسی که TabIndex اون دو باشه .
با تشکر
نقل قول: حذف چند تایی از جدول توسط گراید ویو
دوست عزيز
براي حذف كه فرق خاصي نداره اگه بخاين بعدا براتون كدش رو هم ميزارم.
براي فوكوس كردن روي تكست باكس مورد نظر:
textBox2.Focus();
و براي انتخاب كردن كامل متن تكست باكس:
textBox2.SelectAll();
اگه مشكل ديگه اي بود بفرماييد.
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
می خواستم بدونم چطور میشه رکورد هایی که در گراید ویو انتخاب شده اند (multi select) ، رو همزمان از جدول حذف بکنیم .(حذف چند تایی)
گرید بایند هست یا نه؟؟
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
حجتی نیا
گرید بایند هست یا نه؟؟
آره.
من حذف تکی رو دارم، ولی تو حذف چند تایی، وقتی چند تا رکورد توی دیتا گراید ویو به صورت درهم یا به ترتیب انتخاب می کنی، چطوری تشخیص بدم چه رکورد هایی و چند تا، توی دیتا گراید ویو انتخاب شده اند تا بتونم اونارو حذف کنم !
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
vandermond
دوست عزيز
براي حذف كه فرق خاصي نداره اگه بخاين بعدا براتون كدش رو هم ميزارم.
براي فوكوس كردن روي تكست باكس مورد نظر:
textBox2.Focus();
و براي انتخاب كردن كامل متن تكست باكس:
textBox2.SelectAll();
اگه مشكل ديگه اي بود بفرماييد.
این کدها رو بلد بودم ، ولی وقتی تو فرم لود کد textbox2.focus() می نویسی که فوکوس بره تکست 2، این کار انجام نمیشه یعنی فوکوس روی تکستی که TabIndex اون صفر یا کمترین هست، می ره !
در مورد textbox.selectAll()، با این کد کار کردم ولی می خوام وقتی این کد اجرا بشه که تکست باکس فوکوس رو دریافت کرده . یعنی چه با کلیک روی تکست و چه با دکمه ی Tab ،وقتی فوکوس رو به تکست باکس مورد نظر دادیم، محتوای اون انتخاب بشه !
توی VB با نوشتن این کد توی رویداد GetFocus تکست باکس، این کار انجام میشد !
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
ahmad_lovely
این کدها رو بلد بودم ، ولی وقتی تو فرم لود کد textbox2.focus() می نویسی که فوکوس بره تکست 2، این کار انجام نمیشه یعنی فوکوس روی تکستی که TabIndex اون صفر یا کمترین هست، می ره !
در مورد textbox.selectAll()، با این کد کار کردم ولی می خوام وقتی این کد اجرا بشه که تکست باکس فوکوس رو دریافت کرده . یعنی چه با کلیک روی تکست و چه با دکمه ی Tab ،وقتی فوکوس رو به تکست باکس مورد نظر دادیم، محتوای اون انتخاب بشه !
توی VB با نوشتن این کد توی رویداد GetFocus تکست باکس، این کار انجام میشد !
با سلام
شما میتونی از textbox.select() هم استفاده بکنی و کلا ربطی به TabIndex نداره.
دوست عزیز شما وقتی کد textbox.selectAll() رو بذاری تو رویداد click یا enter وقتی focus شدی به یک تکست باکس اون تکست نوشته هاش Select میشه
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
mmd2009
با سلام
دوست عزیز شما وقتی کد textbox.selectAll() رو بذاری تو رویداد click یا enter وقتی focus شدی به یک تکست باکس اون تکست نوشته هاش Select میشه
وقتی این کد رو توی رویداد کلیک بنویسی جالب در نمیاد .
چون دیگه نمی تونی قسمتی از متن داخل تکست باکس رو انتخاب کنی !
نقل قول: حذف چند تایی از جدول توسط گراید ویو
دوست عزیز برای حدف چندتاس از فرم هم یکی از راه های ساده اینه که از طریق زیر عمل کنید
کدش رو براتون نوشتم تستش هم کردم :چشمک:
string address_db = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dbase.mdb";
OleDbConnection con;
con = new OleDbConnection(address_db);
string q = "delete from t1 where name=@name";
OleDbCommand cmd = new OleDbCommand(q,con);
foreach (DataGridViewRow a in dataGridView1.Rows)
{
if (a.Selected == true)
{
con.Open();
cmd.Parameters.Add(@"name", OleDbType.Char).Value =
a.Cells[0].Value.ToString();
cmd.ExecuteNonQuery();
con.Close();
cmd.Parameters.Clear();
}
}
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
ahmad_lovely
وقتی این کد رو توی رویداد کلیک بنویسی جالب در نمیاد .
چون دیگه نمی تونی قسمتی از متن داخل تکست باکس رو انتخاب کنی !
یعنی رویدادی برای اینکار وجود نداره ؟
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
ahmad_lovely
وقتی این کد رو توی رویداد کلیک بنویسی جالب در نمیاد .
چون دیگه نمی تونی قسمتی از متن داخل تکست باکس رو انتخاب کنی !
میتونی اینو هم بنویسی :
البته اگر دوستان روشهای بهتری هم میدونن بگن
فکر نکنم این روش خوب باشه.
private void textBox2_Enter(object sender, EventArgs e)
{
if (textBox2.Focus())
textBox2.SelectAll();
}
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
ahmad_lovely
آره.
من حذف تکی رو دارم، ولی تو حذف چند تایی، وقتی چند تا رکورد توی دیتا گراید ویو به صورت درهم یا به ترتیب انتخاب می کنی، چطوری تشخیص بدم چه رکورد هایی و چند تا، توی دیتا گراید ویو انتخاب شده اند تا بتونم اونارو حذف کنم !
میتونی از یه روش دیگه هم استفاده کنی، همونطور که میدونید وقتی گرید به یه جدول بایند هست با دستور tableadapter.fill اون پر میشه، برای پاک کردن هم میتونید از آداپتر استفاده کنید اینطوری که اول با یه حلقه سطرهایی که انتخاب کردید رو فقط از گرید حذف(حلقه مثل مثال جناب mmd2009) سپس با دستور tableadapter.update(datasetname.tablename)
تغییرات در دیتابیس اعمال میشه ..
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
mmd2009
میتونی اینو هم بنویسی :
البته اگر دوستان روشهای بهتری هم میدونن بگن
فکر نکنم این روش خوب باشه.
private void textBox2_Enter(object sender, EventArgs e)
{
if (textBox2.Focus())
textBox2.SelectAll();
}
این روش هم نشد !
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
ahmad_lovely
این روش هم نشد !
تو رویداد enter نیازی نیست چک بشه که فوکوس شده یا نه، فقط دستور selectall نوشته بشه کافیه (هروقت تکس باکس فوکوس بشه،با تب، ای رویداد کار میکنه)
واسه زمانی که با موس کار کنه باید تو رویداد MouseClick هم بنویسی
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
ahmad_lovely
این کدها رو بلد بودم ، ولی وقتی تو فرم لود کد textbox2.focus() می نویسی که فوکوس بره تکست 2، این کار انجام نمیشه یعنی فوکوس روی تکستی که TabIndex اون صفر یا کمترین هست، می ره !
در مورد textbox.selectAll()، با این کد کار کردم ولی می خوام وقتی این کد اجرا بشه که تکست باکس فوکوس رو دریافت کرده . یعنی چه با کلیک روی تکست و چه با دکمه ی Tab ،وقتی فوکوس رو به تکست باکس مورد نظر دادیم، محتوای اون انتخاب بشه !
توی VB با نوشتن این کد توی رویداد GetFocus تکست باکس، این کار انجام میشد !
براي سوال اول: توي فرم لود از
textBox2.Select();
استفاده كن.
براي قسمت دوم: با Tab كه خودش SelectAll ميكنه. براي موس هم با دابل كليك خودش اين كار رو ميكنه. منظورت اينه كه با يك كليك بشه؟
البته من در مورد GetFocus ويبي چيزي نميدونم. كي فراخاني ميشه و ...... اگه ميشه نمونه كد VB بزاريد، شايد دقيقا فهميديم چيه:متفکر:.
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
vandermond
براي سوال اول: توي فرم لود از
textBox2.Select();
استفاده كن.
براي قسمت دوم: با Tab كه خودش SelectAll ميكنه. براي موس هم با دابل كليك خودش اين كار رو ميكنه. منظورت اينه كه با يك كليك بشه؟
البته من در مورد GetFocus ويبي چيزي نميدونم. كي فراخاني ميشه و ...... اگه ميشه نمونه كد VB بزاريد، شايد دقيقا فهميديم چيه:متفکر:.
منظورم اینه که با هر روشی وقتی فوکوس به کنترل داده میشه، محتوای اون انتخاب بشه !
رویداد getFocus وی بی اینجوریه که وقتی کنترل، فوکوس رو دریافت میکنه کد داخل رویداد اجرا میشه !
نقل قول: حذف چند تایی از جدول توسط گراید ویو
نقل قول:
نوشته شده توسط
ahmad_lovely
منظورم اینه که با هر روشی وقتی فوکوس به کنترل داده میشه، محتوای اون انتخاب بشه !
رویداد getFocus وی بی اینجوریه که وقتی کنترل، فوکوس رو دریافت میکنه کد داخل رویداد اجرا میشه !
راستش من همچين چيزي توي #C بلد نيستم:گریه:. يعني توي ويبي اين متد فقط زماني كه فوكوس از يك جاي ديگه به مثلا تكست باكس مورد نظر بياد فراخاني ميشه يا مثلا اگه فوكوس روي همين تكست باكس باشه با كليك دوباره هم فراخاني ميشه؟
اگه حالت دوم باشه كه فايده نداره. ولي اگه حالت اول هستش چيز خوبيه. و احتمال زياد #C هم داره همچين چيزي ولي من نديدم تا حالا.
اساتيد لطفا بگن كه داره يا نه.