aspx中的datagrid原码:
<asp:datagrid id="DataGrid1" runat="server" Width="1047px" AlternatingItemStyle-BackColor="#eeeeee"
OnPageIndexChanged="DataGrid1_Page" PagerStyle-HorizontalAlign="Right" PagerStyle-Mode="NumericPages" PageSize="5" AllowPaging="True"
DataKeyField="id" OnUpdateCommand="DataGrid1_UpdateCommand" OnEditCommand="DataGrid1_EditCommand" OnCancelCommand="DataGrid1_CancelCommand"
AutoGenerateColumns="False" CellPadding="1" BorderColor="SteelBlue" BackColor="White" OnItemDataBound="DataGrid1_ItemDataBound"
OnDeleteCommand="DataGrid1_DeleteCommand" CssClass="font" HorizontalAlign="Justify">
<SelectedItemStyle BackColor="#00C0C0"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#E8F4FF"></AlternatingItemStyle>
<ItemStyle Wrap="False" BorderColor="White" BackColor="White" CssClass="item"></ItemStyle>
<HeaderStyle Font-Names="Arial" Wrap="False" HorizontalAlign="Center" CssClass="header" ForeColor="White"
BackColor="#135DA3"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="prjid" HeaderText="项目编号">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="prjname" HeaderText="项目<br>名称">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:TemplateColumn>
<HeaderTemplate>
建设<br>
进度分类
</HeaderTemplate>
<ItemTemplate>
<%# Format(Container.DataItem,"progress","2") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id="progress" runat="server" SelectedIndex='<%# GetThisSelectIndex(DataBinder.Eval(Container, "DataItem.progress")) %>' >
<asp:ListItem Value=""></asp:ListItem>
<asp:ListItem Value="0">在建项目</asp:ListItem>
<asp:ListItem Value="1">预备项目</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<HeaderTemplate>
建设<br>
性质分类
</HeaderTemplate>
<ItemTemplate>
<%# Format(Container.DataItem,"property","1") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id="property" runat="server" SelectedIndex='<%# GetThisSelectIndex(DataBinder.Eval(Container, "DataItem.property")) %>' >
<asp:ListItem Value=""></asp:ListItem>
<asp:ListItem Value="0">能源</asp:ListItem>
<asp:ListItem Value="1">农林水</asp:ListItem>
<asp:ListItem Value="2">社会事业</asp:ListItem>
<asp:ListItem Value="3">科技信息</asp:ListItem>
<asp:ListItem Value="4">城建环保</asp:ListItem>
<asp:ListItem Value="5">商贸服务业</asp:ListItem>
<asp:ListItem Value="6">工业园区</asp:ListItem>
<asp:ListItem Value="7">基础设施配置项目</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="district" HeaderText="建设<br>
地域分类">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="prjattri" HeaderText="项目<br>
性质分类">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="serv_kaohe" HeaderText="服务与<br>
考核分类">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="prj_total_invest" HeaderText="项目<br>
总投资">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="prjaddress" HeaderText="建设<br>
地点">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="prjyear" HeaderText="建设<br>
年限">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="director_city" HeaderText="市挂钩<br>
领导">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="director_county" HeaderText="县挂钩<br>
领导">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="director_town" HeaderText="镇挂钩<br>
领导">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="prjcontent" HeaderText="建设<br>
内容及规模">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="department_zr" HeaderText="分级管理<br>
责任单位">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="memo_bz" HeaderText="备注">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:BoundColumn>
<asp:EditCommandColumn ButtonType="PushButton" UpdateText="更新" HeaderText="编辑" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
<asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:ButtonColumn>
</Columns>
<PagerStyle HorizontalAlign="Right" Mode="NumericPages"></PagerStyle>
</asp:datagrid>对应的cs中源码:
public void BindGrid()//绑定数据
{
SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
string sqlquery;
sqlquery = "select * from project_info";

SqlDataAdapter myCommand = new SqlDataAdapter(sqlquery, myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "project_info"); DataGrid1.DataSource=ds.Tables["project_info"].DefaultView;
DataGrid1.DataBind();//此行出错 } public void DataGrid1_Page(Object sender, DataGridPageChangedEventArgs e)
{
//由内置页导航使用。CurrentPageIndex 已设置
DataGrid1.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}protected string Format(object item,string type,string typeid)
{
DataRowView drv=(DataRowView)item;
string val=string.Empty;
SqlConnection myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
string sqlquery,code;
code = drv[type].ToString().Trim().ToLower();
if(code != "" || code == null)
{
sqlquery = "select * from property where typeid = '"+typeid+"' and code = '"+code+"'";
SqlDataAdapter myCommand = new SqlDataAdapter(sqlquery, myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "property"); val = ds.Tables["property"].Rows[0]["type_name"].ToString(); }else{
val=drv["type"].ToString();
} return val;            
}public int GetThisSelectIndex(object obj)
{
int idx = 0;
//TODO: 根据"字段名"字段的值 去求选中项的Index;
if(obj.ToString().Trim()==""||obj.ToString()==null)
{
idx = 0;
}else{
idx = Convert.ToUInt16(obj.ToString().Trim().ToLower())+1;
} return idx;
}一共有四页,第一次加载时是好的,且点击最后一页时分页也是好,但是点击第二和第三页时在
DataGrid1.DataBind();//此行出错
就出错
错误消息: 在位置 0 处没有任何行。