1. set the Datagrid's AutoGenerateColumns=false, bind all other columns with BoundColumn template inside <Columns>...</Columns>or get DataGrid's Columns collection and modify its Visible property and/or its HeaderText for any column or you can override OnItemDataBound event handler, do anything you want there2. I could be wrong, but I think DATAGRID邦定后不能读SqlDataReader其中的内容

解决方案 »

  1.   

    1。
    DataTable ta;
    DataGridTableStyle tblStyle;
    DataGridTextBoxColumn colStyle;
    dt=new DataTable();
    dt=dataset.Tables[0];
    dt.Columns[0].ColumnMapping=MappingType.Hidden; for(int i=0;i<dt.Columns.Count;i++)
    {
    colStyle = new DataGridTextBoxColumn();
    colStyle.MappingName = dt.Columns[i].ColumnName;
    colStyle.HeaderText  = "文件号";
    colStyle.Width=100;
    colStyle.ReadOnly    = false;
    tblStyle.GridColumnStyles.Add(colStyle);

    }
    dataGrid.TableStyles.Add(tblStyle);
      

  2.   

    谢谢,我想做成一个通用的查询程序,SQL语句为
    "select * from " MyView;
    但是我知道MyView中有ID这一项,在邦定的时候不想让他在DATAGRID中显示出来,也就是说我在查询中并不知道全部字段都有哪些,但知道一部分
    TO 天涯,我用SQLDATAREADER怎么办呢?
    谢谢关注
      

  3.   

    this.sqlCommand1.CommandText = "SELECT * FROM"+ MyView;
    SqlDataReader reader=sqlCommand1 .ExecuteReader (CommandBehavior.CloseConnection );
    DataGrid1.DataSource =reader;
    DataGrid1.DataBind ();
    DataGrid1.Columns[0].Visible=false;//注意!
    reader.Close ();
      

  4.   

    不行啊!
    还有我的DropDownList控件怎么不响应SelectedIndexChanged事件呢!
    private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    Response.Write ("就是显示不出来!");
    }
      

  5.   

    DATAREADER的功能就是有限,如果非要用SQLDATAREADER的话我的办法就是select指定字段。"select name,sex,old from table"
    还是建议用DATASET。
      

  6.   

    datareader绑定后是不能再读取其中的内容。因为其是向前只读的。
      

  7.   

    datareader只能进行直线读取
    建议dataset
      

  8.   

    大哥们!还是隐藏不了啊!!
    代码如下this.oleDbCommand1 .CommandText = "SELECT * FROM v_sckDaily";
    DataTable dt;
    DataSet ds1=new DataSet();//
    oleDbDataAdapter1 .Fill (ds1);
    dt=new DataTable();
    dt=ds1.Tables[0];
    dt.Columns[0].ColumnMapping=MappingType.Hidden;
    DataGrid1.DataSource=ds1;
    DataGrid1.DataBind ();
      

  9.   

    try to remove the column:<%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    <script language="C#" runat="server">
    void Page_Load(Object sender, EventArgs e)
    {
      String sConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb";
      OleDbConnection conn = new OleDbConnection(sConn);
      OleDbDataAdapter da = new OleDbDataAdapter("select * from Employees", conn);
      DataSet ds=new DataSet();
      da.Fill (ds,"Employees");  DataTable dt=ds.Tables["Employees"];
      dt.Columns.Remove("EmployeeID");//!!!!!!!!  DataGrid1.DataSource=dt;
      DataGrid1.DataBind ();
    }
    </script>
    <form id="form1" runat="server">
    <asp:datagrid id="DataGrid1" runat="server" />
    </form>