我要编辑一个部门人员的数据,从基础信息中将人员调入datagrid。进行编辑,这时有的cell能编辑有的不能。
如下所示。我选择的劳务名称其中的一项。额定小分要进行变化,但是我不希望再执行一下datagrid的数据绑定。因为这可能将其他可编辑列已经填入的数据发生变化
<asp:BoundColumn DataField="zgbh" HeaderText="员工编号"></asp:BoundColumn>
<asp:BoundColumn DataField="zgxm" HeaderText="职工姓名"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="劳务名称">
<ItemTemplate>
<asp:DropDownList id=DropDownList1 AutoPostBack="True" runat="server" OnSelectedIndexChanged="DropDownListChange" DataSource="<%# initdatatable() %>" DataTextField="lwmc" DataValueField="lwbh">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="额定小分">
<ItemTemplate>
<asp:Label id=lbledxf runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.edxf") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=TextBox3 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.edxf") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="调整比例">
<ItemTemplate>
<asp:TextBox id=txttzbl runat="server" Width="70px" Text='<%# DataBinder.Eval(Container, "DataItem.tzbl") %>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>

解决方案 »

  1.   

    <script language="javascript">
    function selected(ddlst)
    {
    //ddlst.parentElement.parentElement.cells[0].innerHTML = ddlst.value;
    var objLabel = document.getElementById(ddlst.id.replace("DropDownList1","lbledxf"));
    var objTextBox1 = document.getElementById(ddlst.id.replace("DropDownList1","TextBox3"));
    var objTextBox2 = document.getElementById(ddlst.id.replace("DropDownList1","txttzbl"));

    if(objLabel!=null) objLabel.innerHTML = ddlst.value;
    if(objTextBox1!=null) objTextBox1.value = ddlst.value;
    if(objTextBox2!=null) objTextBox1.value = ddlst.value;
    }

    </script>
    ==================================================
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemIndex>-1
    {
    ((DropDownList)e.Item.FindControl("DropDownList1")).Attributes.Add("onchange","selected(this);");
    }
    }
      

  2.   

    非常感谢Eddie005(♂) 暴赱 『零零伍』(︶︵︶) ,这么晚了还给我答案。
    if(objTextBox1!=null) objTextBox1.value = ddlst.value;我是在后台要对它进行赋值。不是客户端
      

  3.   

    <asp:DropDownList id=DropDownList1 AutoPostBack="True" runat="server" OnSelectedIndexChanged="DropDownListChange" DataSource="<%# initdatatable() %>" DataTextField="lwmc" DataValueField="lwbh">
    public void DropDownListChange(object sender, System.EventArgs e)
    {
    DropDownList OrderDrp = (DropDownList) sender; gzbh =OrderDrp.SelectedItem.Text;
    “如果能够写在这里就好了”
    }