点datagridview时,不能取值的有关问题()
点datagridview时,不能取值的问题(求助)

想法是,点资料表,label.Text的内容与DATAGRIDVIEW中的HeaderText相同时,该LABEL右边的textBox内容即textBox.text等于资料表里当前行(列为 label.text对应的列)的值。。。
我的代码:点击 无错误 就是 不取值。。。。头痛。。。
------解决思路----------------------
自己把lb.GetType().ToString()这个打出来看看
------解决思路----------------------
首先
这句可能有问题,你打断点看一下。
------解决思路----------------------
Devexpress 你应该通过 gridView1.GetFocusedDataRow 方式来获取选择行的对象。
想法是,点资料表,label.Text的内容与DATAGRIDVIEW中的HeaderText相同时,该LABEL右边的textBox内容即textBox.text等于资料表里当前行(列为 label.text对应的列)的值。。。
我的代码:点击 无错误 就是 不取值。。。。头痛。。。
private void CGVIEW_CellClick(object sender, DataGridViewCellEventArgs e)
{
TextGetDgvCurrentValue(groupBox1, CGVIEW);
}
public void TextGetDgvCurrentValue(Control parentControl, DataGridView dgv)
{
foreach (Control lb in parentControl.Controls)
{
if (lb.GetType().ToString() == "Label")
{
dgvToText(parentControl, dgv, (Label)lb, 200, 10);//偏移左右最大为200,上下偏移不大于10
}
}
}
public void dgvToText(Control parentControl,DataGridView dgv, Label lb, int xmax, int ymax)
{
int x = lb.Location.X + lb.Text.Length;
int y = lb.Location.Y;
foreach (Control tb in parentControl.Controls)//textBox
{
for (int i = 0; i < dgv.ColumnCount; i++)
{
if (lb.Text == dgv.Columns[i].HeaderText)
{
int currentcol = dgv.Columns[i].Index;
if ( Math.Abs(tb.Location.X - x) < xmax & tb.Location.X - x > 0 & Math.Abs(y - tb.Location.Y) < 5)
{
tb.Text = dgv.CurrentRow.Cells[currentcol].Value.ToString();
}
}
}
}
}
------解决思路----------------------
自己把lb.GetType().ToString()这个打出来看看
------解决思路----------------------
首先
lb.GetType().ToString() == "Label"
这句可能有问题,你打断点看一下。
lb.GetType().ToString() == “System.Windows.Forms.Label”
------解决思路----------------------
Devexpress 你应该通过 gridView1.GetFocusedDataRow 方式来获取选择行的对象。