this.GridView1.DataSource = oledbcmd.ExecuteReader();
this.GridView1.DataBind();
this.GridView1.Columns[0].HeaderText = "序号";在最后一句提示:索引超出范围。必须为非负值并小于集合大小。
参数名: index
this.GridView1.DataBind();
this.GridView1.Columns[0].HeaderText = "序号";在最后一句提示:索引超出范围。必须为非负值并小于集合大小。
参数名: index
解决方案 »
- 做一个过滤器来处理特定目录的请求,可是实现IHttpModule接口会响应所有的请求,如何只响应特写路径的请求呢?
- ifream 链接的小问题
- ASP怎么实现JAVA里的Filter功能?
- asp.net中将sql server 2000数据库导出到excel时规定操作范围
- asp.net2.0的treeview使用checkbox进行级联选择用javascript实现了,但是怎么在脚本中把选中的节点值取出来?
- VS 启动后怎么打不开localhost ?
- 100分请教datagrid自定义分页问题!!!
- 如何获取treeview(1.1版本)的根节点,并使它的背景颜色改变
- 在dataGrid控件里怎样去掉列的标题?
- 高手请教!!!在线等待。
- Repeater绑定数据,需要一个序列的编号1-10
- 如何获取DropDownList控件被选定项在列表框中显示的字符串?
executereader()返回的是datareader吧,该对象不能做datasource.
this.GridView1.Columns[0].HeaderText = "序号"; //设置标头应该在绑定前设置好,而不是绑定后
this.GridView1.DataBind();
但是加一个
this.GridView1.Columns[0].HeaderText = "序号"; 提示: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
this.GridView1.Columns[0].HeaderText = "序号"; 提示: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
<asp:TemplateField HeaderText="序号">
你确定这样写可以啊
我记得属性里好象点不出来吧
/// 将DataReader 转为 DataTable
/// </summary>
/// <param name="DataReader">DataReader</param>
public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader)
{
DataTable datatable = new DataTable();
DataTable schemaTable = dataReader.GetSchemaTable();
//动态添加列
try
{
foreach(DataRow myRow in schemaTable.Rows)
{
DataColumn myDataColumn = new DataColumn();
myDataColumn.DataType = myRow.GetType();
myDataColumn.ColumnName = myRow[0].ToString();
datatable.Columns.Add(myDataColumn);
}
//添加数据
while(dataReader.Read())
{
DataRow myDataRow = datatable.NewRow();
for(int i=0;i<schemaTable.Rows.Count;i++)
{
myDataRow[i] = dataReader[i].ToString();
}
datatable.Rows.Add(myDataRow);
myDataRow = null;
}
schemaTable = null;
dataReader.Close();
return datatable;
}
catch(Exception ex)
{
Error.Log(ex.ToString());
throw new Exception("转换出错出错!",ex);
}
}
OleDbConnection oledbcon = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;data source=D://NET//treeview//App_Data//user.mdb");
oledbcon.Open();
OleDbCommand oledbcmd = new OleDbCommand("SELECT * FROM users", oledbcon);
// this.GridView1.Columns[1].HeaderText = "序号";
this.GridView1.DataSource = oledbcmd.ExecuteReader();
this.GridView1.DataBind();请问怎么把这个代码转换成DataTable ?