asp.netdatagridviewsqldatasource

Is it possible to change the input type of a parameter inside a SqlDataSource?


I created a table using a Sqldatasource in .net webforms. I added a "commandField" that allows you to edit and update the content of this table, but by default the input type is "text". I would like to have different input types for some columns. For example the description column should be a "textarea" and the category column should be a "select dropdown".

I tried editing the input type= text in CSS, but this was a failure. Apparently only the textarea input type allows multiple lines to be displayed for the user.

This is how I'm calling the edit column in the table:

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

This is the dataField I would like to edit, so that the input is a textarea:

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

Solution

  • If yor are using a 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>