是否可以在SqlDataSource中更改参数的输入类型?

时间:2019-07-23 21:28:55

标签: asp.net datagridview sqldatasource

我在.net Webforms中使用Sqldatasource创建了一个表。我添加了一个“ commandField”,它允许您编辑和更新此表的内容,但是默认情况下,输入类型是“文本”。我想为某些列使用不同的输入类型。例如,描述列应为“文本区域”,类别列应为“选择下拉列表”。

我尝试在CSS中编辑输入type =文本,但这是失败的。显然,只有textarea输入类型才允许为用户显示多行。

这是我在表格中调用编辑列的方式:

<asp:CommandField  ButtonType="Button" ControlStyle-BackColor="DarkOrange" ControlStyle-CssClass="trCBPad" ItemStyle-CssClass="flex-container2"  HeaderText="Edit" ShowEditButton="True">
<ControlStyle BackColor="DarkOrange" CssClass="trCBPad"></ControlStyle>

这是我要编辑的dataField,因此输入为文本区域:

<asp:BoundField  DataField="ProofPointId" HeaderText="ProofPointId" InsertVisible="False" ReadOnly="True" SortExpression="ProofPointId" />

1 个答案:

答案 0 :(得分:0)

如果您正在使用gridview

 <asp:GridView ID="GridView1"  DataSourceId="MyDataSource"  DataKeyNames="Code"
AutoGenerateColumns="false"       AutoGenerateEditButton="true"
AutoGenerateDeleteButton="true"   runat="server">
 <Columns>
 <asp:TemplateField  HeaderText="Name">
<ItemTemplate>
<%#Eval("Name")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtName" Text='<%# Bind("Name")%>' runat="server" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField  HeaderText="Description">
<ItemTemplate>
<%#Eval("Description")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox TextMode="Multiline" ID="txtDesctiption"Text='<%# Bind("Description")%>'   
runat="server" />
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>