在asp.net中固定gridview的宽度

时间:2013-06-28 06:04:30

标签: asp.net gridview width fixed

我想修复gridview的宽度。我正在填写gridview如下;

sorgu = "select urun.urunId as \"İş No\",urun.modelNo as \"Model No\",modelAd as \"Model Adı\",bedenAd as \"Beden\", adet as \"Adet\""
              + ",aciklama as \"Açıklama\", kesmeTalimat as \"Kesim Talimatı\", atolyeTalimat as \"Atölye Talimatı\", yikamaTalimat as \"Yıkama Talimatı\", utuTalimat as \"Ütü Talimatı\", (k4.ad+' '+k4.soyad) as \"Kesim\", (k1.ad+' '+k1.soyad) as \"Atölye\""
              + ",(k2.ad+' '+k2.soyad) as \"Yıkama\",(k3.ad+' '+k3.soyad) as \"Ütü\", (k5.ad+' '+k5.soyad) as \"Kontrol\" from kullanici k1,kullanici k4,kullanici k5,kullanici k2,kullanici k3,model,beden,urun,fason,isTalimat,durum"
              + " where urun.urunId= fason.urunId and urun.urunId=isTalimat.urunId and urun.urunId=durum.urunId and model.modelNo=urun.modelNo and beden.bedenNo=urun.bedenNo and"
              + " fason.atolye=k1.id and fason.yikama=k2.id and fason.kesimci=k4.id and fason.kontrol=k5.id and fason.utu=k3.id";
        connection.Open();
        command.Connection = connection;
        command.CommandText = sorgu;
        dr = command.ExecuteReader();
        DataTable dtTumISler = new DataTable();
        dtTumISler.Load(dr);
        dgvTumIsler.DataSource = dtTumISler;
        dgvTumIsler.DataBind();
        dr.Close();
        connection.Close();
        dtTumISler.Dispose();

这里dgvTumİsler是我的gridview。我已经尝试了以下代码来固定长度。但它不起作用;

for (int i = 0; i < dgvTumIsler.Columns.Count; i++)
        {
            dgvTumIsler.Columns[i].ItemStyle.Width = 100;
        }

这里dgvTumİsler.Columns.Count值为1.所以它不起作用。有没有办法解决这个问题,还是有另一种方法可以使gridview固定宽度。

HTML code:

<asp:GridView ID="dgvTumIsler" runat="server" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" OnSelectedIndexChanged="dgvTumIsler_SelectedIndexChanged">
                         <Columns>
                             <asp:CommandField ButtonType="Button" SelectText="Seç" ShowCancelButton="False" ShowSelectButton="True" />
                         </Columns>
                         <FooterStyle BackColor="White" ForeColor="#000066" />
                         <HeaderStyle BackColor="#006699" Font-Bold="false" ForeColor="White" />
                         <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                         <RowStyle ForeColor="#000066" />
                         <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
                         <SortedAscendingCellStyle BackColor="#F1F1F1" />
                         <SortedAscendingHeaderStyle BackColor="#007DBB" />
                         <SortedDescendingCellStyle BackColor="#CAC9C9" />
                         <SortedDescendingHeaderStyle BackColor="#00547E" />
                   </asp:GridView>

2 个答案:

答案 0 :(得分:0)

这是一个如何做到这一点的例子。试一试

 <asp:GridView ID="GridView1" AutoGenerateEditButton="True" runat="server" AutoGenerateColumns="False" width="600px">

    <Columns>
                    <asp:BoundField HeaderText="UserId" 
                    DataField="UserId" 
                    SortExpression="UserId" ItemStyle-Width="400px"></asp:BoundField>
       </Columns>

    </asp:GridView>

答案 1 :(得分:0)

您可以使用CssClass属性设置css类并使用它来设置宽度

<RowStyle CssClass="myRow">
...
<asp:CommandField ButtonType="Button" SelectText="Seç" CssClass="mybutton"/>
...
<style>
.myRow td{width: 100px;}
.mybutton{width: 100px}
</style>