چطور میشود index یک رکورد خاص را در datagridview بدست آورد ؟ البته به غیر از کدی که یکی از دوستان قبلا داده بود و از حلقه for استفاده کرده بود .
Printable View
چطور میشود index یک رکورد خاص را در datagridview بدست آورد ؟ البته به غیر از کدی که یکی از دوستان قبلا داده بود و از حلقه for استفاده کرده بود .
سلام ،
DataGridViewRow.Index
سلام
منظورم این بود که همون رکورد خاص را چطور می توان گرفت.مثلا رکوردی که مقدار یکی از فیلداش 4 است.
اگه منظورت گرفتن مقادیر موجود در سلول های اون رکورد هست، به این صورت میتونی به مقادیر اون رکورد دسترسی داشته باشی :
string customerID, companyName, city;
int rowIndex = 3;
customerID = this.dataGridView1.Rows[rowIndex].Cells[0].Value.ToString();
companyName = this.dataGridView1.Rows[rowIndex].Cells[1].Value.ToString();
city = this.dataGridView1.Rows[rowIndex].Cells[2].Value.ToString();
MessageBox.Show(string.Format("{0} , {1} , {2}", customerID, companyName, city));
سلام خیلی ممنون از پیگیریتون
ولی منظورم این نیست.شما اینجا Rowindex=3قرار دادین ولی من حالتی می خوام که rowindex را نمیدونیم و با استفاده از مقدار فیلد کلید rowindex را به دست بیاریم. اصلا ساده تر بگم مخوام current row را عوض کنم.
با استفاده از کد زیر ولی احتیاج به rowindex دارم.
dataGridView1.CurrentCell=dataGridView1[columnIndex,RowIndex]
باید خودتون با یک حلقه شرط مورد نظرتون رو بر روی تک تک ردیفها بررسی کنید .
میتونی در یه حلقه ی foreach از شرط مورد نظرت استفاده کنی، مثل این :
foreach (DataGridViewRow row in this.dataGridView1.Rows)
{
try
{
string item = row.Cells[0].Value.ToString().Trim();
if (item == "ali")
{
string customerID, companyName, city;
customerID = this.dataGridView1.Rows[row.Index].Cells[0].Value.ToString();
companyName = this.dataGridView1.Rows[row.Index].Cells[1].Value.ToString();
city = this.dataGridView1.Rows[row.Index].Cells[2].Value.ToString();
MessageBox.Show(string.Format("{0} , {1} , {2}", customerID, companyName, city));
}
}
catch (NullReferenceException ex)
{
// do nothing
}
}