>>>>原本想通过触发TEXTBOX就得到这条DATAGRID的ID ,但没成功how did you do it? or try<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script language="C#" runat="server">
void Page_Load(Object o, EventArgs e)
{
if (!IsPostBack)
{
SqlDataAdapter da = new SqlDataAdapter("select * from authors",
"Server=localhost;Database=pubs;UID=sa;PWD=;");
DataSet ds = new DataSet();
da.Fill(ds,"authors"); DataGrid1.DataSource = ds.Tables["authors"].DefaultView;
DataGrid1.DataBind();
}
}void TextChanged(Object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
DataGridItem dgi = (DataGridItem)tb.Parent.Parent;
Response.Write("***" + dgi.ItemIndex + " is changed<BR>");
}</script>
<form runat=server>
<asp:datagrid id="DataGrid1" runat="server">
<Columns>
<ASP:TemplateColumn HeaderText="Textbox">
<ItemTemplate>
<ASP:TextBox id="txt" Text='<%# DataBinder.Eval(Container.DataItem, "au_lname") %>' Runat="server"
AutoPostBack=true OnTextChanged="TextChanged" />
</ItemTemplate>
</ASP:TemplateColumn>
</Columns>
</asp:datagrid>
</form>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script language="C#" runat="server">
void Page_Load(Object o, EventArgs e)
{
if (!IsPostBack)
{
SqlDataAdapter da = new SqlDataAdapter("select * from authors",
"Server=localhost;Database=pubs;UID=sa;PWD=;");
DataSet ds = new DataSet();
da.Fill(ds,"authors"); DataGrid1.DataSource = ds.Tables["authors"].DefaultView;
DataGrid1.DataBind();
}
}void TextChanged(Object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
DataGridItem dgi = (DataGridItem)tb.Parent.Parent;
Response.Write("***" + dgi.ItemIndex + " is changed<BR>");
}</script>
<form runat=server>
<asp:datagrid id="DataGrid1" runat="server">
<Columns>
<ASP:TemplateColumn HeaderText="Textbox">
<ItemTemplate>
<ASP:TextBox id="txt" Text='<%# DataBinder.Eval(Container.DataItem, "au_lname") %>' Runat="server"
AutoPostBack=true OnTextChanged="TextChanged" />
</ItemTemplate>
</ASP:TemplateColumn>
</Columns>
</asp:datagrid>
</form>
解决方案 »
- 根据一个字符串 生成一个文件
- fileupload学习中的小问题
- 访问sqlserver2000中的ntext字段问题
- irc聊天室问题
- 求助,查询时限制在本周问题
- CSDN的聊天窗口是怎么做的,哪位大哥能说说原理吗?
- 带参数查询的问题:总是提示没声名变量
- TabStrip & Multipage
- windows 2003 + .net2003 ,为什么新建项目和编译项目老要输入administrator的密码?
- 请教服务端控件与客户端控件的问题
- 我能不能在程序的运行当中更改image.imageurl的属性?比如:image3.imageurl="readimage.aspx ? ID=" &TRIM(TEXTBOX1.TEXT)
- asp.net中到底是用activeX好还是嵌入win form好?
你能说一下TEXTCHANGE中的语句是什么意思吗?
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.OleDb" %>
<HTML>
<HEAD>
<title>处理</title>
</HEAD>
<body>
<form runat="server" ID="Form1">
<asp:DataGrid ID="grid1" Runat="server" OnItemCommand="click1" AllowPaging="True" DataKeyField="renumber" AutoGenerateColumns="False" PageSize="5" AllowCustomPaging="True" PagerStyle-Mode="NumericPages">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<table border="1">
<tr>
<td>
测试提交方式:<asp:Label Runat=server text=' <%# DataBinder.Eval(Container.DataItem,"remode")%>'></asp:Label>
</td>
<td>
测试人员IP:<asp:Label Runat=server text='<%# DataBinder.Eval(Container.DataItem,"reuserip") %>'></asp:Label></td>
</tr>
<tr>
<td colspan="2">
测试内容:<asp:Label Runat=server text='<%# DataBinder.Eval(Container.DataItem,"redetail") %>'></asp:Label>
</td>
</tr>
<asp:Panel ID="panel1" Runat="server">
<tr>
<td colspan="2">请处理人员填写以下内容--</td>
</tr>
<tr>
<td colspan="2">
<asp:TextBox TextMode="MultiLine" AutoPostBack=True OnTextChanged=textchange ID="memo1" Runat="server" />
</td>
</tr>
<tr>
<td>处理者姓名:
<asp:TextBox id="textbox1" Runat="server" />
</td>
<td><asp:Button Runat="server" Text="提交"></asp:Button></td>
</tr>
</asp:Panel>
<asp:Panel ID="panel2" Runat="server">
<tr>
<td>
<asp:Label ID="label1" Runat="server" />
</td>
</tr>
</asp:Panel>
</table>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
<script language="C#" runat="server">
void Page_Load(Object Sender,EventArgs e)
{
string connstring=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\..\\systemtest.mdb;";
OleDbConnection conn=new OleDbConnection(connstring);
string sql1="Select * From project order by prono desc";
DataSet ds1 = new DataSet();
OleDbDataAdapter MyAdapter1 = new OleDbDataAdapter(sql1,conn);
MyAdapter1.Fill(ds1,"project");
string projectno="";
Session["projectno"]=ds1.Tables[0].Rows[0]["prono"].ToString();
string sql="SELECT * FROM test where prono='" + Session["projectno"] + "' order by renumber desc";
OleDbDataAdapter da=new OleDbDataAdapter(sql,conn);
DataSet ds=new DataSet();
da.Fill(ds,"test");
if(!IsPostBack)
{
grid1.DataSource=ds;
grid1.DataBind();
}
}
void textchange(Object Sender,EventArgs e)
{
TextBox tbs=(TextBox)Sender;
DataGridItem dgi=(DataGridItem)tbs.Parent.Parent;
string renum=dgi.ItemIndex.ToString();
Session["renum"]=renum;
}
//void selectchange(Object Sender,EventArgs e)
//{
//renum=grid1.DataKeys[grid1.SelectedIndex].ToString();
//Session["renum"]=renum;
//}
void click1(Object Sender,DataGridCommandEventArgs e)
{
//Response.AddHeader("Refresh", "1");
string textb=((TextBox)e.Item.FindControl("textbox1")).Text;
string memm=((TextBox)e.Item.FindControl("memo1")).Text;
Response.Write(Session["renum"]);
string connstring=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"..\\..\\systemtest.mdb;";
OleDbConnection conn=new OleDbConnection(connstring);
string sql="Insert Into dispose Values ('" + Session["projectno"] + "','" + Session["renum"] + "','" + textb + "','" + Request.UserHostAddress.ToString() + "','" + memm +"')";
OleDbDataAdapter da=new OleDbDataAdapter(sql,conn);
DataSet ds=new DataSet();
da.Fill(ds,"dispose");
((Panel)e.Item.FindControl("panel1")).Visible=false;
((Panel)e.Item.FindControl("panel2")).Visible=true;
((Label)e.Item.FindControl("label1")).Text=textb;
}
</script>
</body>
</HTML>
<asp:Panel ID="panel1" Runat="server">so you need to another Parent:DataGridItem dgi = (DataGridItem)tb.Parent.Parent.Parent;
string s = DataGrid1.DataKeys[dgi.ItemIndex]
which will give you "renumber" for the current row
思归大哥,真的很感谢你!你好厉害,能不能向我们传授传授经验啊?小妹我以后还要多多想你请教!