ali_mnkt
یک شنبه 18 اسفند 1387, 00:56 صبح
با سلام خدمت دوستان
من قبلا هم موضوع ای با نام رویداد سلول های DATAGRID VIEW قرار داده بودم که می خواستم
مثلا سلول های datagrid view رو فقط عددی ویا فقط حروفی ویا سلولی که بشه اعداد رو
3 رقم 3 رقم جدا کرد. مشگل من هم تا حدودی حل شد.
مثلا برای 3رقم 3رقم جدا کردن کد زیر پیشنهاد شد:
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is TextBox) {
TextBox tb = e.Control as TextBox;
tb.TextChanged += text_chang;
}
}
//makhsose 3ragham 3ragham kardan
private void text_chang(object sender, EventArgs e)
{
try {
Globalization.NumberFormatInfo nfi = new Globalization.NumberFormatInfo();
sender.Text = long.Parse(sender.Text, Globalization.NumberStyles.Number).ToString("n0", nfi);
sender.Select(sender.Text.Length, 0);
}
catch {
sender.Text = "";
}
اما وقتی که رویداد Editing control showing مربوط به datagrid view اجرا می شه تاثیرش
روی تمام سلول ها اعمال می شه . حالا چطور می شه طوری این کد رو نوشت
که بشه رویداد مخصوص هر ستون رو به صورت تکی تغییر داد مثلا یه ستون فقط عدد بشه
وارد کرد یه ستون فقط حروف و یه ستون فقط 3رقم 3رقم اعداد رو جدا کنه.
من قبلا هم موضوع ای با نام رویداد سلول های DATAGRID VIEW قرار داده بودم که می خواستم
مثلا سلول های datagrid view رو فقط عددی ویا فقط حروفی ویا سلولی که بشه اعداد رو
3 رقم 3 رقم جدا کرد. مشگل من هم تا حدودی حل شد.
مثلا برای 3رقم 3رقم جدا کردن کد زیر پیشنهاد شد:
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is TextBox) {
TextBox tb = e.Control as TextBox;
tb.TextChanged += text_chang;
}
}
//makhsose 3ragham 3ragham kardan
private void text_chang(object sender, EventArgs e)
{
try {
Globalization.NumberFormatInfo nfi = new Globalization.NumberFormatInfo();
sender.Text = long.Parse(sender.Text, Globalization.NumberStyles.Number).ToString("n0", nfi);
sender.Select(sender.Text.Length, 0);
}
catch {
sender.Text = "";
}
اما وقتی که رویداد Editing control showing مربوط به datagrid view اجرا می شه تاثیرش
روی تمام سلول ها اعمال می شه . حالا چطور می شه طوری این کد رو نوشت
که بشه رویداد مخصوص هر ستون رو به صورت تکی تغییر داد مثلا یه ستون فقط عدد بشه
وارد کرد یه ستون فقط حروف و یه ستون فقط 3رقم 3رقم اعداد رو جدا کنه.