PDA

View Full Version : رکورد تکراری در گرید درج نشه



programerinfonet
دوشنبه 12 اسفند 1392, 21:56 عصر
سلام دوستان
من میخوام یک رشته رو ابتدا بدونم آیا تو گرید هست یا خیر اگه بود دیگه اضافه نشه و اگه نبود اضافه بشه
باید چیکار کنم ؟
کمک کنید
ممنون

NasimBamdad
دوشنبه 12 اسفند 1392, 21:58 عصر
بهتره اگه کوری دارید ، از طریق SQL کوری رو مرتب کنید .

یا قبل از پر کردن گرید ، این چک کردن رو انجام بدید

programerinfonet
دوشنبه 12 اسفند 1392, 22:03 عصر
نه کوئری ندارم دستی گرید پر میشه
در واقع یک تکست باکس دارم و یک دکمه و گرید که با زدن دکمه مقدار توی تکست باکس به گرید اضافه میشه حالا میخوام قبل از اضافه کردن چک کنه ببینه که قبلأ این مقدار موجود بوده یا نه

NasimBamdad
دوشنبه 12 اسفند 1392, 22:06 عصر
فکر کنم با حلقه FOR باید هر سری قبل از Insert مقدار اون فیلد ها چک بشه .

دستورش خاطرم نیست .

khokhan
دوشنبه 12 اسفند 1392, 22:42 عصر
نه کوئری ندارم دستی گرید پر میشه
در واقع یک تکست باکس دارم و یک دکمه و گرید که با زدن دکمه مقدار توی تکست باکس به گرید اضافه میشه حالا میخوام قبل از اضافه کردن چک کنه ببینه که قبلأ این مقدار موجود بوده یا نه

.................................................. ..............................


private void button1_Click(object sender, EventArgs e)
{
if (dataGridView1.Rows.Count > 0)
{
for (var i = 0; i < dataGridView1.Rows.Count; i++)
{
if (txt_id.Text == dataGridView1.Rows[i].Cells["id"].Value.ToString())
{
MessageBox.Show("record already exist");
}
else
{

//add new

}
}
}
}

programerinfonet
دوشنبه 12 اسفند 1392, 22:48 عصر
ممنون ولی آخرش چرا خطای Object reference not set to an instance of an object. میده ؟

khokhan
دوشنبه 12 اسفند 1392, 22:52 عصر
ممنون ولی آخرش چرا خطای Object reference not set to an instance of an object. میده ؟
این خط رو بایستی با نام ستون گریدتون ست کنین :

if (txt_id.Text == dataGridView1.Rows[i].Cells["id"].Value.ToString())

programerinfonet
دوشنبه 12 اسفند 1392, 22:53 عصر
انجام داده بودم نشد

meysam_online2012
دوشنبه 12 اسفند 1392, 23:21 عصر
.................................................. ..............................


private void button1_Click(object sender, EventArgs e)
{
if (dataGridView1.Rows.Count > 0)
{
for (var i = 0; i < dataGridView1.Rows.Count; i++)
{
if (txt_id.Text == dataGridView1.Rows[i].Cells["id"].Value.ToString())
{
MessageBox.Show("record already exist");
}
else
{

//add new

}
}
}
}

حلقه for رو اینطوری بنویس

for (var i = 0; i < dataGridView1.Rows.Count-1; i++)

khokhan
دوشنبه 12 اسفند 1392, 23:28 عصر
انجام داده بودم نشد
اینو دیگه امتحانش کردم جواب می ده راحت باش :لبخند:


private void button1_Click(object sender, EventArgs e)
{
if (dataGridView1.Rows.Count > 0)
{
for (var i = 0; i < dataGridView1.Rows.Count-1; i++)
{
if (textBox2.Text == dataGridView1.Rows[i].Cells[1].Value.ToString())
{
MessageBox.Show("record already exist");
return;
}

}

}

DataGridViewRow row = new DataGridViewRow();

row.CreateCells(this.dataGridView1, textBox1.Text, textBox2.Text);

this.dataGridView1.Rows.Add(row);
}