我用的是这套控件(Infragistics)种的datagrid, <script id="igClientScript" type="text/javascript"> function webgridPlan_CellClickHandler(gridName, cellId, button) { var oCell = igtbl_getCellById(cellId);//获取超链接的对象 var oRow = oCell.getRow();//获取点击超链接的该行 var oIDCell = oRow.getCellFromKey("PLANACTIID");//获取某列的KEY(列的KEY) var strID = oIDCell.getValue();//获取改行某列的值 var str = oCell.Index;
也可以弹出一个div
<a href="javascript:window.open(...)">
<a href="javascript:window.open(...)">
-------------------------------------------
这种方法是很常用的在加上?id=<%Eval("id")%>,把你的参数传进去
很少接触javascript,所以不怎么熟悉。我这个问题相信很多朋友都会遇到。
那div里面做好后。 DIV里面的修改怎样更新到数据库里呢?
或者通过点击取行参数传到另外一个页面从数据库从取详细资料!
不会的话,可以参考
http://mattberseth.com/blog/2007/07/modalpopupextender_example_for.html
AJAX有现成控件可以用的
这类的面试题
我做过
用DIV +JS 可以实现
DIV内的详细内容是
调用JS INNERHTML进去的
凭记忆写点吧,也不知道对不对
在rowdatabound事件里
gridviewrow.attributes.add("onclick","window.open('xxxx.aspx?id='"+ e.datakey +"'','','')");
我这没办法试
估计写的不对,反正大概就是这个意思
点中某一行的话弹出一个页面,传个ID过去,显示详细信息
<script id="igClientScript" type="text/javascript">
function webgridPlan_CellClickHandler(gridName, cellId, button)
{
var oCell = igtbl_getCellById(cellId);//获取超链接的对象
var oRow = oCell.getRow();//获取点击超链接的该行
var oIDCell = oRow.getCellFromKey("PLANACTIID");//获取某列的KEY(列的KEY)
var strID = oIDCell.getValue();//获取改行某列的值
var str = oCell.Index;
if(oCell.Index==1)
{
window.showModalDialog('PlanToRecordLook.aspx?State=1&&id='+strID,strID,"dialogWidth:800px; dialogHeight:590px; status:no");
}
return false;
}
</script>
不知道对你是否有用
protected void grvContract_RowDataBound(object sender, GridViewRowEventArgs e)
{
//如果是数据项并且是交替项
if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.EmptyDataRow)
{
//添加自定义属性,当鼠标移过来时设置该行的背景色为"6699ff",并保存原背景色
e.Row.Attributes.Add("onmouseover", "this.style.cursor='hand';currentcolor=this.style.backgroundColor;this.style.backgroundColor='LightGrey'");
//添加自定义属性,当鼠标移走时还原该行的背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");
int i;
for ( i = 1; i <= e.Row.Cells.Count-1; i++)
{
e.Row.Cells[i].Attributes.Add("onclick", "FileView('" + grvContract.DataKeys[e.Row.RowIndex].Value.ToString() + "');");
}
}
}1:在GridView的RowDataBind事件中加入代码,调用JS文件中的FileView函数,并传入ID号.2:在JS中写函数FileView,通过函数调用一个新的页面,这个页面通过唯一的ID号,调用数据库的信息显示具体的信息.3:新建页面,通过传过的ID号得到具体的信息.另:这样做,不定要按钮,只要是行,甚至行里的每一列都可以控制.
如果具体的信息不多,就可以通过参数传过去,不要再通过ID号连接数据库得到具体信息.希望能帮忙到楼主.
要用到_dopostback.