请问各位大虾,如果我点击datagrid的任何一行的任何地方(注:不是在datagrid里面邦定Linkbutton来实现超联接),怎么获取被点击行所有列的内容到弹出的新页面中的textbox中,能否给出详细一点的程序,而不是只有这么一句:Datagrid1.Items[i].Cells[j].Text等等。谢谢各位大虾提供一下程序
如不方便在这上面贴出,请各位大虾给出联系方式,我再跟你们联系,好吗? 谢谢!我的联系方式:
[email protected]
如不方便在这上面贴出,请各位大虾给出联系方式,我再跟你们联系,好吗? 谢谢!我的联系方式:
[email protected]
//假设你有3列
string a1 = "";
string a2 = "";
string a3 = "";
for(int i=0;i<this.myGrid.Items.Count;i++)
{
a1 = this.myGrid.Items[i].Cells[0].Text;
a2 = this.myGrid.Items[i].Cells[1].Text;
a3 = this.myGrid.Items[i].Cells[2].Text;
this.myGrid.Items[i].Attributes.Add("onclick","window.open('xxx.aspx?a1=" + a1 + "&a2=" + a2 + "&a3=" + a3 + "','','');");
}
----------------
然后在新页面里面,去接收并赋值给textbox.
我不知道你是不是已经有页面弹出了要赋值,还是要弹出新页面?
就可以了
比如,我datagrid中有这么二行,第一行有三列,其中的值为1,2,3
第二行同样有三列,值为4,5,6
当我点击上面二行任何一行时,在弹出的新页面中也有三个textbox,它们分别对应显示着被点击行的列的值,谢谢你在指导~!
//this.myGrid.Items[i].Attributes.Add("onclick","window.open('xxx.aspx?a1=" + a1 + "&a2=" + a2 + "&a3=" + a3 + "','','');");//取值
string a1 = this.request.querystring["a1"];
string a1 = this.request.querystring["a1"];
string a1 = this.request.querystring["a1"];//赋值
this.textbox1.Text = a1;
this.textbox2.Text = a2;
this.textbox3.Text = a3;上述方式是在父页面加载的时候,就把要传递的值取出来放在事件里,用传值的方式传递给新打开的窗口.
你可试试看这种方式,如果有问题你再提出来.
1、在单击DataGrid行时,获得该行的主键值
2、将获得的主键值传给第二个页面,打开第二个页面
3、在第二个页面中根据主键值查找这条记录,依次绑定到TextBox显示