我在SqlDataAdaper里面的command=SELECT MB001,MB002,MB003 FROM INVMB 
显示到DBGRID里面它的字段名为MB001,MB002,MB003.请问怎么样才可以显示中文?难道一定要用SELECT MB001 AS '品号' from INVMB 这样才可以吗?

解决方案 »

  1.   

    this.DataGrid1.TableStyles[0].GridColumnStyles[0].HeaderText="中文";
      

  2.   

    用 TableStyleTableStyle style = new TableStyle();
    style.MappingName = "dataset里面的表名";DataGridTextBoxColumn txt = new DataGridTextBoxColumn();
    txt.HeaderText = "这是标题";
    txt.MappingName = "字段名";
    style.GridColumnStyles.Add(txt);dataGrid.TableStyles.Clear();
    dataGrid.TableStyles.Add(style);dataGrid.DataSource = dataTable;
      

  3.   

    DataGridTextBoxColumn myDBColumn4 = new DataGridTextBoxColumn();
    myDBColumn4.HeaderText = "标题";
    myDBColumn4.MappingName = "字段";
    myDBColumn4.Width = 120;
      

  4.   

    select 英文字段名 as 中文字段名 from tablename
      

  5.   

    楼上两位的方法都行,用sql:select...as 方便点
      

  6.   

    这个是查询以后在显示里改的
    this.DataGrid1.TableStyles[0].GridColumnStyles[0].HeaderText="中文";
    这个是查询的时候就改了,可以直接显示的
    select 英文字段名 as 中文字段名 from tablename
      

  7.   

    用列样式columnstyle#region 角色信息Datagrid样式
    private void dgColumnStyle_Role(bool editFlag)
    {
    //声明DataGridTableStyle
    DataGridTableStyle myTableStyle = new DataGridTableStyle( );
    myTableStyle.MappingName = "XT_QX_JS_TB";//声明DataGridColumnStyle1
    DataGridTextBoxColumn ColumnStyle1 = new DataGridTextBoxColumn();
    ColumnStyle1.MappingName = "QX_JS_BM";
    ColumnStyle1.HeaderText = "编号";
    ColumnStyle1.Width = 0;
    ColumnStyle1.ReadOnly = true;
    ColumnStyle1.Format= "yyyy年MM月dd日";//这列如果是日期类型可以用指定日期格式显示日期值。
    myTableStyle.GridColumnStyles.Add(ColumnStyle1);//声明DataGridColumnStyle2
    DataGridTextBoxColumn ColumnStyle2 = new DataGridTextBoxColumn();
    ColumnStyle2.MappingName = "QX_JS_MC";
    ColumnStyle2.HeaderText = "名称";
    ColumnStyle2.Width = 120;
    ColumnStyle2.NullText="";
    myTableStyle.GridColumnStyles.Add(ColumnStyle2);//声明DataGridColumnStyle3
    DataGridTextBoxColumn ColumnStyle3 = new DataGridTextBoxColumn();
    ColumnStyle3.MappingName = "QX_JS_MS";
    ColumnStyle3.HeaderText = "描述";
    ColumnStyle3.Width = 120;
    ColumnStyle3.NullText="";
    myTableStyle.GridColumnStyles.Add(ColumnStyle3);//声明DataGridColumnStyle5
    DataGridBoolColumn ColumnStyle5 = new DataGridBoolColumn();
    ColumnStyle5.MappingName = "QX_JS_SFYX";
    ColumnStyle5.HeaderText = "有效";
    ColumnStyle5.AllowNull = false;
    ColumnStyle5.TrueValue = (Decimal)1;
    ColumnStyle5.FalseValue = (Decimal)0;
    ColumnStyle5.Width = 40;
    myTableStyle.GridColumnStyles.Add(ColumnStyle5);//声明DataGridColumnStyle4
    DataGridTextBoxColumn ColumnStyle4 = new DataGridTextBoxColumn();
    ColumnStyle4.MappingName = "QX_JS_XSSX";
    ColumnStyle4.HeaderText = "顺序";
    ColumnStyle4.Width = 40;
    myTableStyle.GridColumnStyles.Add(ColumnStyle4);dataGridMain.TableStyles.Clear();
    dataGridMain.TableStyles.Add( myTableStyle );
    }
    #endregion
    为绑定该数据库的datagrid指定dataGridTableStyle(点击TableStyles属性右边的按纽),设置dataGridTableStyle的MappingName为你的表名,然后再添加GridCloumnStyle(也是点击GridCloumnStyles右边的按纽)设置GridCloumnStyle为表中的列名,想要哪个显示就添加哪个,不要显示就不添加即可!
      

  8.   

    直接在aspx里面不是可以写这些字段的中文名字的吗
    <asp:TemplateColumn HeaderText="中文名字">
    <ItemTemplate>
        <%#DataBinder.Eval(Container.DataItem,"title")%>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  9.   

    不是一定要 SELECT MB001 AS '品号' 
    如果你的表格是固定显示某些列,在前台直接写死就行了
    最简单的就是使用表格的“属性生成器”,添加一些绑定列,把“页面文本”设置成你要显示的文本(品号),“数据字段”设置为对应的数据库列(MB001)就行了
    或者直接在HTML中为表格添加如下的绑定列
    <asp:BoundColumn DataField="MB001" HeaderText="品号"></asp:BoundColumn>如果需要后台动态设定,就参考楼上各位的代码吧
      

  10.   

    select 英文字段名 as 中文字段名 from tablename   是最方便的。楼主没有表述清楚,不过从问题上看应该不是ASP.net,所以楼上某些ASP.NET中的DataGrid就算了吧,ASP.NET相信应该没人在这里问这个问题。这2个控件我不知道为什么会叫相同的名字DataGrid,感觉就没多少一样的地方。还不如Table像