非高手
我想一功能?
在主面的gridview中的某文本中一下,或一按也行,然後出一框。
框完成操作後,回一或值gridview中的某文本框。其出窗口我已
,一般的文本回也,就是回到gridview中的文本框不知道怎?
[解决办法]
你说的这个其实是要用js实现啦,gridview到客户端其实是表格啦,你看看gridview到客户端每个单元格命名的规律你就知道怎么做了
[解决办法]
楼主应该是使用VB.net吧,抱歉,我使用C#,貌似没有弹出对话框
[解决办法]
用showModalDialog就可以实现。。弹出一个窗口进行操作。操作完后传值回父页面。。
[解决办法]
ShowModalDialog页面:
- JScript code
function CloseWindow() { var value=XXXX; window.returnValue =value; window.close(); .... }
[解决办法]
回一或值gridview中的某文本框
==========
谁在玩文字游戏? 请告诉大家哪个文本框?同一行?
[解决办法]
偶不是高手...或者你可以这样(偶没有试过,根据别的代码改的)
使用客户端代码
- JScript code
//定位单元格,其实就是一个TD...var GridView = document.getElementById(/*你的GridView的ClientID*/strGvId);var cell= GridView.rows[rowIdx].cells[cellInx];//然后你可以随便操作你可爱的单元格了,例如直接cell.innerHTML = "1234";
[解决办法]
// 参考一下 DEMO
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Text" %>
<%--http://topic.csdn.net/u/20080702/19/84d63cac-25e2-45ba-b1cf-4b7330d8da7d.html?seed=257326723--%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void ShowStudentData()
{
DataTable dt = CreateSampleData();
GridView1.DataSource = dt;
GridView1.DataBind();
}
#region sample data
static DataTable CreateSampleEmptyDataTable()
{
DataTable tbl = new DataTable("Student");
tbl.Columns.Add("StudentNO", typeof(string));
tbl.Columns.Add("FirstName", typeof(string));
tbl.Columns.Add("LastName", typeof(string));
tbl.Columns.Add("Age", typeof(int));
tbl.Columns.Add("Gender", typeof(string));
return tbl;
}
static DataTable CreateSampleData()
{
DataTable tbl = CreateSampleEmptyDataTable();
tbl.Rows.Add("20021342", "Jack", "Wu", 25, "M");
tbl.Rows.Add("20025341", "Jue", "You", 23, "F");
tbl.Rows.Add("20022254", "Viky", "Huang", 24, "F");
tbl.Rows.Add("20022231", "Leo", "Wong", 24, "M");
return tbl;
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ShowStudentData();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>GridView</title>
<script type="text/javascript">
function SomeAction(rowId)
{
// var retVal = window.showModalDialog(location.href);
// 如何对同一行的控件进行操作
document.getElementById(rowId + "_TextBox1").value =
"Hello " + document.getElementById(rowId + "_TextBox2").value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("FirstName") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<input type="button" value="SomeAction" onclick="<%# String.Format("SomeAction('{0}')", (Container as Control).ClientID) %>" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
[解决办法]
然後出一框
==
是要弹出一个网页?div?还就是一个alert?
[解决办法]
[解决办法]
感觉楼主像是再后台代码实现的,而不是ajax方式对吧
如果文本传回没有问题的话(能接收到文本的值)
那么可以试试 TextBox txt = GridView.FindControl("文本框ID") as TextBox;
if(txt!=null) txt.Text = "回传值";
[解决办法]
找到GridView中的文本框:
string str="传回的值";
((TextBox)GridView.Rows[i].cell[j].FindControl("textbox1")).text=str;
i和j分别表示文本框的所在行和所在列
[解决办法]
[解决办法]
你就显示一个div模拟的对话框吧,然后写回去就容易了,因为在同一个window里面。跨window传值要用returnValue,更麻烦。