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其中的内容
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);
"select * from " MyView;
但是我知道MyView中有ID这一项,在邦定的时候不想让他在DATAGRID中显示出来,也就是说我在查询中并不知道全部字段都有哪些,但知道一部分
TO 天涯,我用SQLDATAREADER怎么办呢?
谢谢关注
SqlDataReader reader=sqlCommand1 .ExecuteReader (CommandBehavior.CloseConnection );
DataGrid1.DataSource =reader;
DataGrid1.DataBind ();
DataGrid1.Columns[0].Visible=false;//注意!
reader.Close ();
还有我的DropDownList控件怎么不响应SelectedIndexChanged事件呢!
private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
Response.Write ("就是显示不出来!");
}
还是建议用DATASET。
建议dataset
代码如下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 ();
<%@ 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>