首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

非好手誤進

2011-12-24 
非高手誤進我想實現這樣一個功能?在主頁面的gridview中的某個文本櫃中點一下,或點一個按鈕也行,然後彈出一

非高手誤進
我想實現這樣一個功能?
在主頁面的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?
[解决办法]

探讨
然後彈出一個對話框
==
是要弹出一个网页?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分别表示文本框的所在行和所在列
[解决办法]
探讨
用showModalDialog就可以实现。。弹出一个窗口进行操作。操作完后传值回父页面。。

[解决办法]
你就显示一个div模拟的对话框吧,然后写回去就容易了,因为在同一个window里面。跨window传值要用returnValue,更麻烦。

热点排行