在DATAGRID中某列如何直接显示TEXTBOX?? 用的VS2003,做的ASP.NET的网页,现在有一DATAGRID,其中有一模板列是需要修改的,已经作成按编辑之后,该列变为TEXTBOX的可编辑状态,然后按更新就更新好了.现在想要实现在DATAGRID显示的时候直接该列就是TEXTBOX的可编辑状态,就是说想把"按编辑"这个过程省略掉,该怎么实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 结帖吧:) 把 DefaultMode ="Edit"例:<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataSourceID="ObjectDataSource1" Height="50px" Width="592px" DefaultMode="Edit"> <asp:TemplateColumn HeaderText="数量"> <ItemTemplate> <%# DataBinder.Eval(Container, "DataItem.abc") %> </ItemTemplate> <EditItemTemplate> <asp:TextBox runat="server" Width='60' id='Num' Text='<%# DataBinder.Eval(Container, "DataItem.abc") %>'> </asp:TextBox> </EditItemTemplate>可是在TEXTBOX中没有DefaultMode这个属性啊 <asp:TemplateColumn HeaderText="数量"><ItemTemplate><%# DataBinder.Eval(Container, "DataItem.T01_PriceNow") %></ItemTemplate><EditItemTemplate><asp:TextBox runat="server" Width='60' id='Num' Text='<%# DataBinder.Eval(Container, "DataItem.T01_PriceNow") %>'></asp:TextBox></EditItemTemplate>这个是目前的代码 不好意思,没注意到你的是2003 在2003里只要设置 EditItemIndex="1" 等于你要的行数就行了。 或在代码中指定也行。 这个属性设置不是一次只能指定一行,现在有很多行,还有分页,还有没有更方便的方法让他全部变成TEXTBOX状态呢? <ItemTemplate>放textbox////////////////</ItemTemplate> 用模板列再绑定数据就可以啦...<asp:TextBox text="<%# DataBinder.Eval(...)"...></...> 用模版列,然后在datagrid的属性中加上onitemcommand="mydatagrid_command",在mydatagrid_command事件中写你要更新的代码。如下:页面文件<asp:datagird id="mydatagrid" runat="server" autogeneratecolumns="false" onitemcommand="mydatagrid_command"> <columns> <asp:templatecolumn headertext="数据"> <itemtemplate> <asp:textbox id="textbox1" runat="server"/> </itemtemplate> </asp:templatecolumn> <asp:buttoncolumn headertext="操作" text="更新" commandname="update"/> </columns></asp:datagrid>程序文件sub mydatagrid_command(sender as object,e as datagridcommandeventargs) '这里写更新数据的代码end sub 把TEXTBOX放在模板列或选择列里面就可以实现了 100分散分啦!!!简单的问题 IE 文字 黑色边框 图片上传 急 asp.net2005中的设计器能否只显示部分标签内容 问个问题关于返回值的 GridView显示问题 .net2005 编写类库问题 怎么才能防止被Copy走数据库文件附加到另一台机器上呢? 文件上传HttpInputFile控件 如何确定多行TextBox的行数呀,多谢! 哪位大侠用.net做过电力行业的吗? ***********************请问关于验证控件的问题,马上揭贴***********************
结帖吧:) 把 DefaultMode ="Edit"
例:
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataSourceID="ObjectDataSource1" Height="50px" Width="592px" DefaultMode="Edit">
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.T01_PriceNow") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" Width='60' id='Num' Text='<%# DataBinder.Eval(Container, "DataItem.T01_PriceNow") %>'>
</asp:TextBox>
</EditItemTemplate>这个是目前的代码
放textbox////////////////
</ItemTemplate>
如下:
页面文件
<asp:datagird id="mydatagrid" runat="server" autogeneratecolumns="false" onitemcommand="mydatagrid_command">
<columns>
<asp:templatecolumn headertext="数据">
<itemtemplate>
<asp:textbox id="textbox1" runat="server"/>
</itemtemplate>
</asp:templatecolumn>
<asp:buttoncolumn headertext="操作" text="更新" commandname="update"/>
</columns>
</asp:datagrid>程序文件
sub mydatagrid_command(sender as object,e as datagridcommandeventargs)
'这里写更新数据的代码
end sub