Sociant
جمعه 16 مرداد 1388, 01:59 صبح
با سلام
من تو برنامه ام یک DataGridView دارم که در ابتدای برنامه اون رو با استفاده از DataSource پر میکنم
این امکان رو واسه کاربر گذاشتم که بتونه سطر جدید وارد کنه و در DataGridView مقدار وارد کنه
مشکلی که دارم اینه که میخوام وقتی کاربر مقداری رو در سلول مشخصی وارد کرد بلافاصله بعد از خارج شدن فوکوس از اون سلول ، مقدار وارد شده کاربر از نظر عددی بودن چک بشه و درضورتی که درست بود بتونه مقدار سلول های دیگه رو وارد کنه ، در غیر اینصورت فوکوس روی همون سلول بمونه
با استفاده از این کدها این کار رو انجام دادم
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == 0)
{
int parsed;
if (!int.TryParse((string)e.FormattedValue, out parsed))
{
dataGridView1.Rows[e.RowIndex].ErrorText = "Enter namerical value";
e.Cancel = true;
}
}
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ErrorText = "";
}
مسکلم رو حل کرد ولی اگه کاربر مقدار عددی تو این سلول وارد نکنه دیگه هیچ قسمتی از برنامه قادر به گرفتن فوکوس نیست و حتی دکمه Close برنامه هم از کار می افته!
من تو برنامه ام یک DataGridView دارم که در ابتدای برنامه اون رو با استفاده از DataSource پر میکنم
این امکان رو واسه کاربر گذاشتم که بتونه سطر جدید وارد کنه و در DataGridView مقدار وارد کنه
مشکلی که دارم اینه که میخوام وقتی کاربر مقداری رو در سلول مشخصی وارد کرد بلافاصله بعد از خارج شدن فوکوس از اون سلول ، مقدار وارد شده کاربر از نظر عددی بودن چک بشه و درضورتی که درست بود بتونه مقدار سلول های دیگه رو وارد کنه ، در غیر اینصورت فوکوس روی همون سلول بمونه
با استفاده از این کدها این کار رو انجام دادم
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == 0)
{
int parsed;
if (!int.TryParse((string)e.FormattedValue, out parsed))
{
dataGridView1.Rows[e.RowIndex].ErrorText = "Enter namerical value";
e.Cancel = true;
}
}
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows[e.RowIndex].ErrorText = "";
}
مسکلم رو حل کرد ولی اگه کاربر مقدار عددی تو این سلول وارد نکنه دیگه هیچ قسمتی از برنامه قادر به گرفتن فوکوس نیست و حتی دکمه Close برنامه هم از کار می افته!