绑定数据源后如何调整gridview列宽
How to adjust the gridview columns width after binding the datasource
我有一个 asp:GridView 绑定到 SQL 数据,如何在绑定数据后调整 gridview 列宽?
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>
还有我的css数据
.gridview tr td {
padding: 5px;
border: 1px solid #ddd;
}
.gridview tr th {
padding: 5px;}
我也试过这种方法,但是不行
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" />
样式为:
.mytable { width: 100%; }
在你的组件上:
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;
}
我有一个 asp:GridView 绑定到 SQL 数据,如何在绑定数据后调整 gridview 列宽?
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>
还有我的css数据
.gridview tr td {
padding: 5px;
border: 1px solid #ddd;
}
.gridview tr th {
padding: 5px;}
我也试过这种方法,但是不行
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" />
样式为:
.mytable { width: 100%; }
在你的组件上:
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;
}