datagrid内置的“编辑更新取消”按钮列问题,在线等待 1:运行后,datagrid加载完,点“编辑”,默认都是出现文本框,如果要让某列是下拉框,该如何做?2:如何给出现的文本框加样式?3:要用脚本验证文本框输入的内容,如何取到当前所编辑的文本框的id? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <asp:TemplateColumn HeaderText="Name"><HeaderStyle Wrap="False"></HeaderStyle><ItemTemplate><asp:Label ID="lbl" Runat=server text='<%#databinder.eval(container,"dataitem.Name")%>'></asp:Label></ItemTemplate><EditItemTemplate><asp:dropdownlist id="ddlLine" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlLine_SelectedIndexChanged"></asp:dropdownlist></EditItemTemplate></asp:TemplateColumn> 添加模板,ItemTemplate中放置TextBox控件,在EditItemTemplate中放置DropDownList控件private void dgUnUsedSheBei_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { dgUnUsedSheBei.EditItemIndex = e.Item.ItemIndex; temp_username = ((Label) e.Item.FindControl("lblGridUserName")).Text.Trim(); BindData(); } private void dgUnUsedSheBei_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { int userid; int shebeiid; shebeiid = Convert.ToInt32(dgUnUsedSheBei.DataKeys[e.Item.ItemIndex].ToString()); DropDownList currentUserNameList = (DropDownList) e.Item.FindControl("ddlUserName"); userid = Convert.ToInt32(currentUserNameList.SelectedItem.Value); //int fpid=Operation.SheBeifp.AddSheBeifpRecord(shebeiid,userid,1); //int lyid=Operation.SheBeily.AddSheBeily(shebeiid,userid,"保管员分配"); Operation.News.AddNews(shebeiid,userid,"保管员分配给用户"); //Operation.SheBeifp.AddSheBeifp(shebeiid,userid); dgUnUsedSheBei.EditItemIndex = -1; //处理删除最后一页的最后一条记录 if( dgUnUsedSheBei.CurrentPageIndex==dgUnUsedSheBei.PageCount-1&&dgUnUsedSheBei.CurrentPageIndex!=0) dgUnUsedSheBei.CurrentPageIndex=dgUnUsedSheBei.CurrentPageIndex-1; BindData(); Response.Redirect("./LYPrint.aspx?id="+Convert.ToString(shebeiid)+"&userid="+Convert.ToString(userid),true); } ItemDataBound事件寫:Dim txtbox1 As New TextBoxtxtbox1 = e.Item.Cells(7).FindControl("txtDate")txtbox1.Attributes.Add("onclick", "ShowDate('" & txtbox1.ClientID & "')")'ShowDate為js函數 你的问题只有一个答案:使用模板列全部搞定用程序设置某个控件在DataGrid相应事件内写e.Item.Cells[所在列-1].FindControl("模板列内控件ID")在查找控件之前要判断if(e.Item.ItemType==ListItemType.Edit) 求神人帮我!!!!!! gridview点击单元格如何触发对应的服务器事件??? 如何将数据库中的数据赋值到数组中?? 怎样对多个表进行查询,几个表字段相同。 从数据库里读出数据到dataset,如何生成指定格式的XML文件呢? 再测试一下 Datagrid中的Item和Cell到底是什么关系? 收购 ahui_net(阿灰) 的留言本!http://ahui.net/liuyans/default.aspx wmi 远程服务器获取或修改iis属性 页面B如何控制页面A中的IFrame显示?用c#控制。 怎样提高TreeView的加载速度? 怎样控制ImageButton的onclick?
<HeaderStyle Wrap="False"></HeaderStyle>
<ItemTemplate>
<asp:Label ID="lbl" Runat=server text='<%#databinder.eval(container,"dataitem.Name")%>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:dropdownlist id="ddlLine" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlLine_SelectedIndexChanged"></asp:dropdownlist>
</EditItemTemplate>
</asp:TemplateColumn>
private void dgUnUsedSheBei_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
dgUnUsedSheBei.EditItemIndex = e.Item.ItemIndex;
temp_username = ((Label) e.Item.FindControl("lblGridUserName")).Text.Trim();
BindData();
} private void dgUnUsedSheBei_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int userid;
int shebeiid;
shebeiid = Convert.ToInt32(dgUnUsedSheBei.DataKeys[e.Item.ItemIndex].ToString());
DropDownList currentUserNameList = (DropDownList) e.Item.FindControl("ddlUserName");
userid = Convert.ToInt32(currentUserNameList.SelectedItem.Value);
//int fpid=Operation.SheBeifp.AddSheBeifpRecord(shebeiid,userid,1);
//int lyid=Operation.SheBeily.AddSheBeily(shebeiid,userid,"保管员分配");
Operation.News.AddNews(shebeiid,userid,"保管员分配给用户");
//Operation.SheBeifp.AddSheBeifp(shebeiid,userid);
dgUnUsedSheBei.EditItemIndex = -1;
//处理删除最后一页的最后一条记录
if( dgUnUsedSheBei.CurrentPageIndex==dgUnUsedSheBei.PageCount-1&&dgUnUsedSheBei.CurrentPageIndex!=0)
dgUnUsedSheBei.CurrentPageIndex=dgUnUsedSheBei.CurrentPageIndex-1;
BindData();
Response.Redirect("./LYPrint.aspx?id="+Convert.ToString(shebeiid)+"&userid="+Convert.ToString(userid),true);
}
Dim txtbox1 As New TextBox
txtbox1 = e.Item.Cells(7).FindControl("txtDate")
txtbox1.Attributes.Add("onclick", "ShowDate('" & txtbox1.ClientID & "')")
'ShowDate為js函數
用程序设置某个控件在DataGrid相应事件内写e.Item.Cells[所在列-1].FindControl("模板列内控件ID")
在查找控件之前要判断if(e.Item.ItemType==ListItemType.Edit)