62,046
社区成员
发帖
与我相关
我的任务
分享
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:DropDownList ID="ddlSelect" runat="server" onchange="EnableOne(2);">
<asp:ListItem>a</asp:ListItem>
<asp:ListItem>b</asp:ListItem>
<asp:ListItem>c</asp:ListItem>
</asp:DropDownList>
<input type="text" ID="txtInput" runat="server" onchange="EnableOne(1);"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<script type="text/javascript">
function EnableOne(model)
{
var ele = event.srcElement;
var parent = ele.parentElement;
var ddls = parent.getElementsByTagName("select");
var txts = parent.getElementsByTagName("input");
// ele.disabled = false;
if(model == 1)
{
ddls[0].disabled = true;
}
if(model == 2)
{
txts[0].disabled = true;
txts[0].value = ddls[0].options[ddls[0].selectedIndex].innerText;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function elementChange(id)
{
document.getElementById(id).disabled = true;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="0">aa</asp:ListItem>
<asp:ListItem Value="1">bb</asp:ListItem>
<asp:ListItem Value="2">cc</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;uid=sa;pwd=;" ProviderName="System.Data.SqlClient" SelectCommand="select top 10 productid from products" DataSourceMode="DataReader"></asp:SqlDataSource>
</form>
</body>
</html>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
DropDownList drop;
TextBox txt;
if (e.Row.RowType == DataControlRowType.DataRow)
{
drop = e.Row.FindControl("DropDownList1") as DropDownList;
txt = e.Row.FindControl("TextBox1") as TextBox;
drop.Attributes.Add("onchange", "elementChange('" + txt.ClientID + "')");
txt.Attributes.Add("onchange", "elementChange('" + drop.ClientID + "')");
}
}