• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 66
  • Last Modified:

Setting textbox size in a gridview

Hi,
I have a gridview with 3 columns.
The first column has a textbox, the 2nd a checkbox and the 3rd an image button.
I have set the size of :
- The Gridview to be 99% of form,
- The 1st column to be 70% of the gridview
- The textbox to be 100% of the column

However, I cannot manage to set the size of the textbox to use 100% of the 1st column.
No matter what I try, % of px, the maximum size does not change.


Could you please help.

I have also added an image on how it looks with the code below

Anne Rowe

This is the code:

    <asp:GridView ID="GV" runat="server" AutoGenerateColumns="false" 
        ShowFooter="False" DataKeyNames="QID, FQID" SelectedIndex="0" Width="99%" OnRowDataBound="GV_RowDataBound">
        <Columns>
            <asp:TemplateField Visible="true" HeaderText="Description" ItemStyle-VerticalAlign="Top" HeaderStyle-Width="70%" ItemStyle-Width="70%" HeaderStyle-HorizontalAlign="Center">
                <ItemTemplate>
                    <asp:TextBox ID="txtQuestionDesc" Text='<%# Eval("QuestionDesc") %>' runat="Server" Style="Width:100%; Height:20px"  />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField Visible="true" HeaderText="Correct answer" HeaderStyle-Width="20%" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
                <ItemTemplate>
                     <asp:CheckBox ID="ckIsAnswer" runat="server" CssClass="exclusive" data-linked="group3" Checked='<%# Bind("IsAnswer") %>'/>
                    <asp:Label ID="lblIsAnswer" Text='<%# Eval("IsAnswer") %>' runat="Server" Visible="False" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField Visible="true" HeaderText="Remove" HeaderStyle-Width="10%" ItemStyle-HorizontalAlign="Center">
                <ItemTemplate>
                    <asp:ImageButton ID="btnDelete" runat="server" AlternateText="Delete" TabIndex="-1"
                        ImageUrl="~/App_Themes/Default/Images/Buttons/Remove.png" ImageAlign="middle" CssClass="imagebutton"
                        CommandName="DeleteSubQuestion" CommandArgument='<%# Eval("QID") %>' OnCommand="Delete_RowCommand"
                        Visible='<%# Boolean.Parse(Eval("IsDelete").ToString()) %>' Enabled='<%# Boolean.Parse(Eval("IsEnabled").ToString()) %>' />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

Open in new window

Texbox-in-a-Gridview.PNG
0
AnneSKS
Asked:
AnneSKS
  • 6
  • 3
  • 3
1 Solution
 
Pawan KumarDatabase ExpertCommented:
Try..I think you need to firs the Set the width of the column.

<asp:TemplateField HeaderText="Pawan" ItemStyle-Width="100px">                    
                    <EditItemTemplate>
                        <asp:TextBox ID="txtid" runat="server" Text='<%#Eval("Pawan") %>' Width="100%"></asp:TextBox>
                    </EditItemTemplate>
                    <ItemStyle Width="100px" />
</asp:TemplateField>
0
 
Kyle AbrahamsSenior .Net DeveloperCommented:
Remove the itemstyle width . . . just use the header style.
0
 
AnneSKSAuthor Commented:
Kyle & Pawan,
I've tried both solutions, none of them made resized the width of the textbox.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
Pawan KumarDatabase ExpertCommented:
Try this

<asp:TemplateField HeaderText="Pawan" ItemStyle-Width="100px">                    
                    <EditItemTemplate>
                        <asp:TextBox ID="txtid" runat="server" Text='<%#Eval("Pawan") %>' Width="100%"></asp:TextBox>
                    </EditItemTemplate>
                    <Itemstyle Width="100px" />
                    <ControlStyle Width="100%" />

</asp:TemplateField>
0
 
AnneSKSAuthor Commented:
Hi Pawan,
Below is what I have tried, however it did not make any difference.


            <asp:TemplateField Visible="true" HeaderText="Description" ItemStyle-VerticalAlign="Top" HeaderStyle-Width="70%" HeaderStyle-HorizontalAlign="Center">
                <ItemTemplate>
                    <asp:TextBox ID="txtQuestionDesc" Text='<%# Eval("QuestionDesc") %>' runat="Server" Style="Width:100%; Height:20px"  CssClass="Label_100_Blue_QB" />
                    <asp:Label ID="lblQuestionDesc" Text='<%# Eval("QuestionDesc") %>' runat="Server" Visible="False" />
                </ItemTemplate>
                 <ControlStyle Width="100%" />
            </asp:TemplateField>

Open in new window

0
 
Kyle AbrahamsSenior .Net DeveloperCommented:
Can you inspect it and post the raw html from your browseR?

What's in the css class Label_100_Blue_QB
0
 
Pawan KumarDatabase ExpertCommented:
Remove this class Label_100_Blue_QB .

Also try with both ..

 <Itemstyle Width="100px" />
<ControlStyle Width="100%" />
0
 
AnneSKSAuthor Commented:
Pawan,
I have removed the class Label_100_Blue_QB
And added both
 <Itemstyle Width="100px" />
<ControlStyle Width="100%" />
 
And it did not change anything
0
 
AnneSKSAuthor Commented:
Kyle,
Attached is the raw html for the full page. SO a lot more information than what I posted above.
I have removed in the sample above what was not relevant for this exercise.
Texbox-in-a-Gridview.txt
0
 
Kyle AbrahamsSenior .Net DeveloperCommented:
Where is it getting the height:15px from?  Setting the width to 70% there will do the trick in terms of the column with (or in the TH section).

<td style="height:15px;">

also Label_100_Blue_QB appears to be in a separate style sheet . . . can you post the CSS definition for that?

Can you also post your full gridview or radgrid (EG: I see your hidden column in the data but not in your code).

Thanks.
0
 
AnneSKSAuthor Commented:
I found the solution:
It looks like setting up the width of a textbox using Width property and a % is not working, and not only in a gridview.
The way to do it is to use the min-width:

 <asp:TextBox ID="txtQuestionDesc" Text='<%# Eval("QuestionDesc") %>' runat="Server" Style="min-width:98%; height:20px" />

Open in new window


Thank you for your help.

Anne
0
 
AnneSKSAuthor Commented:
The other solutions provided by the experts did not solve the problem and did not lead me to finding the solution
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 6
  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now