C# 绑定数据源后如何调整gridview列宽度
我有一个asp:GridView绑定到SQL数据,绑定数据后如何调整GridView列宽C# 绑定数据源后如何调整gridview列宽度,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个asp:GridView绑定到SQL数据,绑定数据后如何调整GridView列宽 myConnect = new MySqlConnection(conStr); myConnect.Open(); try { string strSQL = "SELECT * FROM report_data WHERE user = @user"; MySqlDat
myConnect = new MySqlConnection(conStr);
myConnect.Open();
try
{
string strSQL = "SELECT * FROM report_data WHERE user = @user";
MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(strSQL, myConnect);
mySqlDataAdapter.SelectCommand.Parameters.AddWithValue("@user", userName);
DataTable dt = new DataTable();
mySqlDataAdapter.Fill(dt);
gvRecords.DataSource = dt;
gvRecords.DataBind();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
myConnect.Close();
}
下面是aspx中的代码
<div>
<asp:GridView CssClass="gridview" ID="gvRecords" runat="server" OnDataBound="gvRecords_DataBound">
</asp:GridView>
</div>
我也尝试过这种方法,但不起作用
protected void gvRecords_DataBound(object sender, EventArgs e)
{
gvRecords.Columns[0].ItemStyle.Width = Unit.Pixel(150);
gvRecords.Columns[1].ItemStyle.Width = Unit.Pixel(50);
gvRecords.Columns[2].ItemStyle.Width = Unit.Pixel(100);
gvRecords.Columns[3].ItemStyle.Width = Unit.Pixel(200);
gvRecords.Columns[4].ItemStyle.Width = Unit.Pixel(50);
}
AutoGenerateColumns生成的列宽与数据不符。
在css中添加宽度后,列的宽度会改变。看起来比以前好多了
.gridview tr td {
padding: 5px;
border: 1px solid #ddd;
width: 100px;}
但是,是否有任何方法可以单独调整列宽?在标题部分添加一个.cs文件
<link rel="stylesheet" type="text/css" href="stylesheet1.css" />
在您的组件上:
asp:GridView ID="GridView1" runat="server" CssClass="mytable"
我认为您可以使用如下css,而不是在运行时设置它
.gridview tr td {
padding: 5px;
border: 1px solid #ddd;
}
// second td
.gridview tr td+td {
width:50px !important;
}
您在浏览器中看到了什么。您正在创建的css规则是否已应用?上图是我在chrome浏览器中获得的,css文件工作正常。您可以从中获取参考或键入以使用
!css中的重要信息
。不确定,但您也可以尝试gvRecords.Columns[0].Attributes.add(“style”,“150px!important”)代码>我尝试gvRecords.Columns[0].Attributes.add(“样式”,“150px!重要”)。但在Attributes属性上出错。不确定语法,但应该有一种方法可以向列添加样式。我这样做了,但没有任何更改。我想我的GridView原始宽度是100%。是的。这是工作。虽然代码看起来很重。我做了很多tr td+td+td+td…等等@TYS如果你正在使用css3,这里有一个参考可以帮助你优化CSS一点。
asp:GridView ID="GridView1" runat="server" CssClass="mytable"
.gridview tr td {
padding: 5px;
border: 1px solid #ddd;
}
// second td
.gridview tr td+td {
width:50px !important;
}