为什么我的数据库中的数据库中的每个数据都在单元格中的每个数据之后都有许多空间



我将数据插入我的SQL Server数据库Leyte

using (SqlConnection myConnection = new SqlConnection(con))
{
    myConnection.Open();
    SqlDataAdapter adapt = new SqlDataAdapter("select prov_name from tbl_CoopList", con);
    DataTable dt = new DataTable();
    adapt.Fill(dt);
    dgv_CoopList.DataSource = dt;
    myConnection.Close();
}

问题是在运行时,在DataGridView中,当我双击单元时,它具有许多空间,例如:

 "Leyte (and a lot of spaces)".

我一直在尝试解决我的问题,即使我有此代码:

dataGridView1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

我希望结果与我在SQL Server数据库中插入的结果相同。我如何才能擦除所有空白空间,以便自动居中。

我非常确定这是因为您已将数据库列类型声明为char(或nchar(,而不是varchar(或nvarchar(

char是固定长度数据类型。如果将列声明为char(10(,然后插入值 foobar(6个字符(,然后查询它,则您将在箭头之间获取所有内容:

>foobar    <

这是您的六个字符,还有4个空间,可为char(10(

构成多达十个字符

将您的数据库列转换为varchar(或nvarchar(

this.DataGridView.Columns[2].DefaultCellStyle.WrapMode = DataGridViewTriState.True;         
this.DataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;         
this.DataGridView.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

希望这对您有帮助。

最新更新