PDA

View Full Version : رویداد مربوط به سلول های datagrid view



ali_mnkt
دوشنبه 28 بهمن 1387, 00:03 صبح
با سلام

دوستان من می خوام رویداد سلول های یه datagrid view رو که textbox هستن دستکاری کنم یعنی می خوام وقتی در سلول ها عدد

وارد می شه 3 رقم 3 رقم جدا بشه.

من کد زیر رو نوشتم :



private void button1_Click(object sender, EventArgs e)
{


this.dataGridView1.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(data GridView1_EditingControlShowing);


}


void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{


if (e.Control is TextBox)
{


TextBox tb = e.Control as TextBox;



tb.TextChanged += new System.EventHandler(text_chang);
}



}






//makhsose 3ragham 3ragham kardan
private void text_chang(object sender, EventArgs e)
{

try
{


NumberFormatInfo nfi = new NumberFormatInfo();
textBox1.Text= long.Parse(textBox1.Text, NumberStyles.Number).ToString("N0", nfi);

textBox1.Select(tb.Text.Length, 0);
}
catch
{
textBox1.Text = "";
}
}




البته کدی که تو تابع text_chang نوشته شده مربوط به رویداد text_chang برای یه textbox هستش .

مشگل من اینجاست که در این تابع به جای textbox1 چی رو باید قرار بدم که این عملیات(یعنی جدا سازی اعداد) روی

سلول های datagridview اعمال شود ؟

mohsen306
دوشنبه 28 بهمن 1387, 04:08 صبح
با سلام:
به این تاپیک ها سر بزنید
http://barnamenevis.org/forum/showthread.php?t=99156&highlight=%D9%BE%D9%88%D9%84%DB%8C

http://barnamenevis.org/forum/showthread.php?t=68090

http://barnamenevis.org/forum/showthread.php?t=124942&highlight=%D8%AF%DB%8C%D8%AA%D8%A7%DA%AF%D8%B1%DB% 8C%D8%AF

mohsen306
دوشنبه 28 بهمن 1387, 04:09 صبح
البته تو سایت codeproject یک نمونه کامل انجام شده هست

ali_mnkt
سه شنبه 29 بهمن 1387, 00:12 صبح
با سلام:
به این تاپیک ها سر بزنید
http://barnamenevis.org/forum/showthread.php?t=99156&highlight=%D9%BE%D9%88%D9%84%DB%8C

http://barnamenevis.org/forum/showthread.php?t=68090

http://barnamenevis.org/forum/showthread.php?t=124942&highlight=%D8%AF%DB%8C%D8%AA%D8%A7%DA%AF%D8%B1%DB% 8C%D8%AF


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

datagrid view جدا کنم

ali_mnkt
سه شنبه 29 بهمن 1387, 13:04 عصر
کسی نمی تونه کمک کنه ؟

NewFoxStudent
سه شنبه 29 بهمن 1387, 13:26 عصر
از رویداد CellValueChange استفاده کنید


privatevoid datagridview1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if(e.ColumnIndex==1)
{
doSommthing;
}
}


اگه مقدار e.ColumnIndex برابر با ستون مورد نظر بود دستورات اجرا میشه

ali_mnkt
سه شنبه 29 بهمن 1387, 23:09 عصر
از رویداد CellValueChange استفاده کنید


privatevoid datagridview1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if(e.ColumnIndex==1)
{
doSommthing;
}
}
اگه مقدار e.ColumnIndex برابر با ستون مورد نظر بود دستورات اجرا میشه


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

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

رویداد cellvaluechanged فکر کنم بیشتر به درد داده های آماده بخوره به نظر خودم

باید با textchang کار کرد ولی چطوری نمی دونم

NewFoxStudent
چهارشنبه 30 بهمن 1387, 11:22 صبح
cellvaluechange همون TextChange دقیقا همون کار رو انجام میده

Developer Programmer
چهارشنبه 30 بهمن 1387, 12:32 عصر
شاید بی ربط باشه اما تو دلفی، اگه فیلدی از AdoQuery رو Currency تعریف کنید، خودش سه رقم سه رقم جدا میکنه. با توجه به شباهتهای زیاد دلفی و #C قاعدتا باید بتونه یه همچین کاری رو بکنه.

ali_mnkt
پنج شنبه 01 اسفند 1387, 00:26 صبح
cellvaluechange همون TextChange دقیقا همون کار رو انجام میده


دوست عزیز من دوباره امتحان کردم cellvaluechange یه بار هنگامی که فرم load می شه

وهر موقع که محتویات سلول مورد نظر رو تغییر می دی و اونو ترک می کنی اجرا می شه

نه هنگامی که محتویات سلول رو تغییر می دی !!!!!!!!!!!!!!!!!!!