--我的绑定代码如下:
  TableClassCollection tables = TableBLL.GetTables();
        this.GridView1.DataSource = tables;
        this.GridView1.DataBind();我在绑定后,表头是英文表头,我想翻译成中文,我是在绑定之前翻译还是绑定之后翻译??

解决方案 »

  1.   

    to 我在绑定后,表头是英文表头,我想翻译成中文,我是在绑定之前翻译还是绑定之后翻译??方法一:可以在sql语句上操作,这个适合任何情况。方法二:
    web or win?
    如果是web,添加boundcolumn来进行mapping。
    如果是win,添加Tablestyle,然后逐个添加column来进行mapping。
      

  2.   

    --我的SQL :private const string SQL_DB_AllTable = @"   SELECT TableName=NAME,STATUS='未建触发器' FROM SYSOBJECTS WHERE XTYPE='u' AND STATUS>0
                                                        AND NAME NOT IN 
                                                             (SELECT  OBJECT_NAME(parent_obj)  FROM  SYSOBJECTS  WHERE  TYPE='TR'  )
                                                        UNION       
                                                        SELECT  TableName=OBJECT_NAME(parent_obj),
                                                    STATUS='已建触发器'  
                                                        FROM SYSOBJECTS WHERE  TYPE='TR' ";--方法:
     public TableClassCollection GetAllTale()
            {
                OleDbConnection conn = new OleDbConnection(OleDbHelper.Getpath());
                OleDbDataReader reader = OleDbHelper.ExecuteReader_Text(conn, SQL_DB_AllTable);
                TableClassCollection tableClasses = new TableClassCollection();
                while (reader.Read())
                {
                    TableClass tableClass = new TableClass();
                    tableClass.TableName = reader["TableName"].ToString();
                    tableClass.Status = reader["STATUS"].ToString();
                    tableClasses.Add(tableClass);
                }
                reader.Close();
                reader = null;
                return tableClasses;
            }
        }
    我把SQL 中的 TableName,STATUS 改成中文也不行.......有人试过吗??
    好象这个类重写了.我不可能把类的属性定义成中文吧!!谢谢1楼的回答!
      

  3.   

    have a try
    private const string SQL_DB_AllTable = @" SELECT TableName as NAME,STATUS as '未建触发器' FROM SYSOBJECTS WHERE XTYPE='u' AND STATUS>0
    AND NAME NOT IN
    (SELECT OBJECT_NAME(parent_obj) FROM SYSOBJECTS WHERE TYPE='TR' )
    UNION
    SELECT TableName=OBJECT_NAME(parent_obj),
    STATUS='已建触发器'
    FROM SYSOBJECTS WHERE TYPE='TR' ";
      

  4.   

    一种是手工在GridView中添加列.
    二种是传递字段名,中文名,宽度数组,然后循环用代码给GridView添加DataGridColumn,并且指定相应的列类型.
      

  5.   

    按照你所给出的sql语句来看,字段名都是英文。用如下试试
    private const string SQL_DB_AllTable = @" SELECT NAME as '名称','未建触发器' as '状态' FROM SYSOBJECTS WHERE XTYPE='u' AND STATUS>0
    AND NAME NOT IN
    (SELECT OBJECT_NAME(parent_obj) FROM SYSOBJECTS WHERE TYPE='TR' )
    UNION
    SELECT OBJECT_NAME(parent_obj) as '名称' ,
    '已建触发器' as '状态'
    FROM SYSOBJECTS WHERE TYPE='TR' ";
      

  6.   

    to: Knight94(愚翁)
    这个方法,我当然知道,,但它被: TableClass tableClass = new TableClass();
                    tableClass.TableName = reader["名称"].ToString();
                    tableClass.Status = reader["状态"].ToString();
                    tableClasses.Add(tableClass);
    重写了.显示的时候,又显示了:TableName 和 Status  表头了....
      

  7.   

    你这个程序是webapp还是winapp,这个gridview的类型全称是什么,不是.net标准控件吧
      

  8.   

    yun~原来是2.0的,基本上和datagrid一样,你设置boundcolumn即可,例如:
    <asp:BoundField HeaderText="名称" DataField="TableName">
      

  9.   

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                //当鼠标移到的时候设置该行颜色为"", 并保存原来的背景颜色
                e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699CC'");
                 //当鼠标移走时还原该行的背景色
                e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor");.................}在这里如何写呢??
      

  10.   

    --解决    GridView1.HeaderRow.Cells[0].Text = "tt1";
            GridView1.HeaderRow.Cells[1].Text = "tt2";
            GridView1.HeaderRow.Cells[2].Text = "tt3";
    直接加就可以了.谢谢所有人.