100求 怎么才能点击动态生成的表格里的单元格,触发一个C#函数
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//动态生成WEB表格
{
TableRow tr= new TableRow();
this.Table1.Rows.Add(tr);
for(int j=0;j<ds.Tables[0].Columns.Count;j++)
{
TableCell tc = new TableCell();
tr.Cells .Add(tc);
tc.Text =ds.Tables[0].Rows[i][j].ToString();
tr.Attributes .Add ("onclick","test()");
}
}
===================================================
同一页面有个C#方法 test()
只想点击单元格时就调用test()
问题点数:100、回复次数:14Top
1 楼woyoulaile000()回复于 2006-03-22 11:34:12 得分 0
或者有没有办法写在JAVASCRIPT中,达到相同的目的,我的目的就是将所点击的单元格的内容输出到同页面的一个TextBox中
Top
2 楼Small__Wolf(CSDN眞J⒏縞笑^_^.這嚒點嘚框框譲偶冩紒紹(︶︵︶))回复于 2006-03-22 12:31:06 得分 0
关注.....Top
3 楼charles_y(每天上网一小时)回复于 2006-03-22 12:40:16 得分 0
写一个js函数,比如
function puttext(string text)
{
document.all.mytext.value=text;
}
然后修改你的代码
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//动态生成WEB表格
{
TableRow tr= new TableRow();
this.Table1.Rows.Add(tr);
for(int j=0;j<ds.Tables[0].Columns.Count;j++)
{
TableCell tc = new TableCell();
tr.Cells .Add(tc);
tc.Text =ds.Tables[0].Rows[i][j].ToString();
tr.Attributes .Add ("onclick","puttext('"+tc.Text+"')");
}
}
Top
4 楼radio_3000(学习中……)回复于 2006-03-22 13:24:39 得分 0
支持 charles_y(难得糊涂) 的方法.
Top
5 楼woyoulaile000()回复于 2006-03-22 13:26:26 得分 0
我试了,没有反映,加了文本框,文本框里没有显示Top
6 楼fwjjesse(HOHO)回复于 2006-03-22 13:35:56 得分 0
document.all.mytext.value=text;
可以解释一下吗·不好意思刚学Top
7 楼anantnt203120(阿南)回复于 2006-03-22 13:36:59 得分 0
为控件添加事件,响应执行方法。
TextBox text = new TextBox();
text.ID = "txtPageGo";
text.Width = width;
text.Height = 18;
text.TextChanged += new EventHandler(text_TextChanged);
text.Attributes.Add("onchange","return changeText(this,'" + this.dg.PageCount.ToString() + "','" + Resources.GetString("Web.BasePage.RequiredError") + "','" + Resources.GetString("Web.BasePage.RegularError") + "');");
e.Item.Cells[0].Controls.Add(text);
}
Top
8 楼anantnt203120(阿南)回复于 2006-03-22 13:39:03 得分 100
fwjjesse(HOHO) ( ) 信誉:100 2006-03-22 13:35:00 得分: 0
document.all.mytext.value=text;
可以解释一下吗·不好意思刚学
Document对象
就是页面中id为mytext的控件的value值赋为textTop
9 楼woyoulaile000()回复于 2006-03-22 13:49:51 得分 0
anantnt203120(阿南) 您好,你可以针对我的代码修改一下吗?因为我不太看的懂您的代码?
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)//动态生成WEB表格
{
TableRow tr= new TableRow();
this.Table1.Rows.Add(tr);
for(int j=0;j<ds.Tables[0].Columns.Count;j++)
{
TableCell tc = new TableCell();
tr.Cells .Add(tc);
tc.Text =ds.Tables[0].Rows[i][j].ToString();
tr.Attributes .Add ("onclick","test()");//这样调用不行
}
}
只要可以调用同页面C#的方法test()就可以了!!!!先谢了
Top
10 楼charles_y(每天上网一小时)回复于 2006-03-22 13:50:53 得分 0
看你这个代码,似乎是点击行,不是点击单元格
如果是单元格,
tr.Attributes .Add ("onclick","puttext('"+tc.Text+"')");
改成
tc.Attributes .Add ("onclick","puttext('"+tc.Text+"')");
可能有错误,所以最好跟踪调试看看。
这种方法我用的很多,比如点击datagrid的单元格之类的,好处就是客户端执行,不会刷新页面
Top
11 楼woyoulaile000()回复于 2006-03-22 13:53:36 得分 0
因为我要响音的是点击事件?怎么实现呢?Top
12 楼fwjjesse(HOHO)回复于 2006-03-22 13:59:24 得分 0
anantnt203120(阿南) 谢谢!我还是刚进这网站!不错Top
13 楼woyoulaile000()回复于 2006-03-22 16:19:08 得分 0
算了,谢谢大家了,特别是阿南,散粉了Top
14 楼likechunyulikelifeng(靠软件生存中)回复于 2006-03-22 16:22:43 得分 0
tr.Attributes .Add ("onclick","puttext('"+tc.Text+"');");
注意:调用方法加个分号试试Top





