【问题标题】:fixing width of a gridview in asp.net在 asp.net 中固定网格视图的宽度
【发布时间】:2013-06-25 20:16:00
【问题描述】:

我想修复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 是我的网格视图。我尝试了以下代码来制作固定长度。但它不起作用;

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

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

HTML 代码:

<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>

【问题讨论】:

  • 能否请您也添加您的 GridView HTML 代码?
  • 我添加了 HTML 代码
  • 网格中只有 1 列吗?如果是,那么请将网格的宽度设置为 100px
  • 不,我有很多列超过十个
  • 但我在 Gridview HTML 的网格视图中只能看到 1 列。

标签: asp.net gridview width fixed


【解决方案1】:

这里有一个例子,你可以怎么做。试一试

 <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>

【讨论】:

  • 您是否在网格视图中添加了宽度?使用 firebug.Track 跟踪是否有任何 CSS 应用于您的 gridview
【解决方案2】:

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

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

【讨论】:

  • 我想让所有列都固定宽度
  • 然后将相同的css类添加到所有列中。
  • 列是用 sql 查询而不是静态生成的
  • 只需将 CssClass 应用于行样式并使用 CSS 子选择器设置单元格宽度。喜欢.myRow td{width: 100px}
猜你喜欢
  • 2012-08-23
  • 2016-09-11
  • 2013-07-14
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 2020-08-12
  • 2011-10-15
  • 2019-04-19
相关资源
最近更新 更多