加载包
using System.IO;
using System.Text;
绑定数据源函数在Page_load()中调用,前台gridview控件Id为gv_show,本例的txt文件有4列用/t分割。
protected void myDatabind()
{
StreamReader objReader = new StreamReader(Server.MapPath("RepositioningProfileDrug-rankMS.txt"), System.Text.Encoding.Default);
string sLine = "";
DataTable dt = new DataTable();
dt.Columns.Add("name", Type.GetType("System.String"));
dt.Columns.Add("p1", Type.GetType("System.String"));
dt.Columns.Add("p2", Type.GetType("System.String"));
dt.Columns.Add("p3", Type.GetType("System.String"));
while (sLine != null)
{
sLine = objReader.ReadLine();
if (sLine != null && sLine.IndexOf("name") < 0)
{
string[] str = sLine.Split('/t');
DataRow dr = dt.NewRow();
//Response.Write(str[3]);
dr["name"] = str[0];
dr["p1"] = str[1];
dr["p2"] = str[2];
dr["p3"] = str[3];
dt.Rows.Add(dr);
}
}
objReader.Close();
gv_show.DataSource = dt;//前台gridview控件Id为gv_show
gv_show.DataBind();
}
实现gridview分页,先对控件做好分页设置等,简单代码:
<asp:GridView ID="gv_show" runat="server" AutoGenerateColumns="False" Width="90%" AllowPaging="True" OnPageIndexChanging="gv_show_PageIndexChanging" PageSize="20" BorderWidth="1">
<Columns>
<asp:TemplateField HeaderText="Drug (with Dosage)">
<ItemTemplate>
<%# Eval("name").ToString()%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Repositioning Rank(mean)">
<ItemTemplate>
<%# Eval("p1").ToString()%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Repositioning Rank(Std)">
<ItemTemplate>
<%# Eval("p2").ToString()%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="FDA-approved and Clinical Trial information">
<ItemTemplate>
<%# Eval("p3").ToString()%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
<PagerSettings FirstPageText="First" LastPageText="Last" Mode="NextPreviousFirstLast"
NextPageText="Next" PreviousPageText="Previous" />
</asp:GridView>
cs中,gv_show_PageIndexChanging代码:
protected void gv_show_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gv_show.PageIndex = e.NewPageIndex;
myDatabind();
}