怎样用Grid View读取txt文件?

speedfisherman 2010-08-26 11:28:22
如题。比如我的txt中有两行内容
11~小明
22~小张
33~小猪
44~小猫

怎样用grid view读出来并分成两列显示呢?

拜求代码或设置!
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2010-08-26
  • 打赏
  • 举报
回复
结果:

q107770540 2010-08-26
  • 打赏
  • 举报
回复

<asp:GridView ID="GridView1" runat="server">
</asp:GridView>


void Bind()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");

using (StreamReader vStreamReader = new StreamReader(@"c:\tst.txt ", Encoding.Default))
{
while (vStreamReader.Peek() > -1)
{
string[] ss = vStreamReader.ReadLine().Split('~');
dt.Rows.Add(ss[0], ss[1]);
}
}
GridView1.DataSource = dt;
GridView1.DataBind();
}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
}


XBodhi. 2010-08-26
  • 打赏
  • 举报
回复


protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
GridViewRow row = this.GridView1.Rows[e.RowIndex];
LinkButton lnkTest = row.FindControl("lnkTest") as LinkButton;
Response.Write(lnkTest.Text+"<br/>");
DataKey key = this.GridView1.DataKeys[e.RowIndex];
Response.Write(key["ID"] + " " + key["name"]);
}



這樣可以取到每行的數據然後你根據這個去操作文本
XBodhi. 2010-08-26
  • 打赏
  • 举报
回复

namespace QueryTestCSharp
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindControl<DataTable>(this.GridView1,GetDataSourceFromTxt());
}
}

private DataTable GetDataSourceFromTxt()
{
DataTable dt = new DataTable();
DataColumn dc = new DataColumn();
DataColumn dc1 = new DataColumn();
dc.Caption = "ID";
dc.ColumnName="ID";
dc1.Caption = "名稱";
dc1.ColumnName = "name";
dt.Columns.Add(dc);
dt.Columns.Add(dc1);
using (System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath("/myTextFile.txt"), System.Text.Encoding.Default))
{
while (sr.Peek() > -1)
{
string[] strTxt = sr.ReadLine().Split('~');
DataRow dr = dt.NewRow();
dr["ID"] = strTxt[0];
dr["name"] = strTxt[1];
dt.Rows.Add(dr);
}
}
return dt;
}

private void BindControl<T>(BaseDataBoundControl control, T datasource)
{
control.DataSource = datasource;
control.DataBind();
}
}
}
XBodhi. 2010-08-26
  • 打赏
  • 举报
回复
dt.Rows.Add(ss[0], ss[1]);
這錯誤的吧
speedfisherman 2010-08-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
结果:
[/Quote]

非常感谢。

另外如果我想通过gridview对txt内容做增删应该怎么弄呢??
比如删掉一行
11 小明

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧