سلام بچه ها.
من داخل فرمم یه گرید ویو دارم که می خوام مثلا فیلد توضیحات را وقتی موس روی ردیفی رفت توضیحات نمایش بده و بتوان متنی که داخل اون هست رو کپی کنه.
باید چه کار کنم؟
با تشکر
سلام بچه ها.
من داخل فرمم یه گرید ویو دارم که می خوام مثلا فیلد توضیحات را وقتی موس روی ردیفی رفت توضیحات نمایش بده و بتوان متنی که داخل اون هست رو کپی کنه.
باید چه کار کنم؟
با تشکر
if ( dataGridView1.CurrentCell.OwningColumn.HeaderText= ="Column1")
{
dataGridView1.CurrentCell.ToolTipText = "name";
}
و...
foreach (DataGridViewCell item in dataGridView1 .Rows[0].Cells )
{
item.ToolTipText = "hi";
}
یا
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
dataGridView1[0, i].ToolTipText = "hi";
}
منظورتون رو از کپی کردن متن نفهمیدم... لطفا دقیقتر توضیح بدید.
آخرین ویرایش به وسیله farhad.k.t : دوشنبه 18 شهریور 1392 در 00:09 صبح
آخرین ویرایش به وسیله R_khaleghi : دوشنبه 18 شهریور 1392 در 01:18 صبح
کد اول را می توان در رویدادهایی مانند Mouseoverو... نوشت.
کدهای دوم وسوم را می توانید در form_load بنویسید.
به چه دلیل می خواهید متن tooltip را کپی کنید؟
برای استفاده از مقادیر سلولها از روش زیر استفاده کنید:
if (dataGridView1 .CurrentCell .Value!=null )
MessageBox.Show(dataGridView1.CurrentCell.Value.To String());
else
MessageBox.Show("Empty");
خوب شما می گویید که متن آگهی از کاربر گرفته می شود و در یک فیلد ذخیره می شود، در این صورت نیازی به این کارها نیست...
اگر فیلد توضیحات را در گرید نمایش بدید همه ی این مشکلات رفع می شه، اما اگر متن آگهی را نمی خواهید در گرید نمایش دهید و فقط می خواهید در بانکتان باشد، باید از یک dataset کمک بگیرید تا اطلاعات آن را بخواند و به صورت tooltip نمایش دهید.
البته من چنین کاری را توصیه نمی کنم....بهتر است که یک فیلد برای متن آگهی در گرید نمایش داده شود زیرا به صورت معمول چنین کاری انجام نمی شه،چون tooltip فقط یک توضیح کوتاه هست نه یکی از مقادیر مهم.
می توانید به جای tooltip از یک لیبل یا تکست باکس استفاده کنید، که با کلیک کردن کاربر بر روی هر ردیف، متن آگهی در یک لیبل یا تکست باکس نمایش داده بشود(همان طور که گفتم در این صورت به یک dataset برای دسترسی به مقادیر جدول نیاز خواهید داشت)
Object o = dataSet.Tables[“TableNameOrIndex”].Rows[0]["ColumnNameOrIndex"];