GridView BS 用法
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging"
PageSize="5" AutoGenerateColumns="False" DataKeyNames="id,name" OnRowCommand="GridView1_RowCommand">
<PagerSettings FirstPageText="首页" LastPageText="尾页" Mode="NextPreviousFirstLast"
NextPageText="下一页" PreviousPageText="上一页" />
<Columns>
<asp:BoundField DataField="name" HeaderText="姓名" />
<asp:BoundField DataField="age" HeaderText="年龄" />
<asp:BoundField DataField="add" HeaderText="地址" />
<asp:ButtonField CommandName="add" Text="添加" />
<asp:ButtonField CommandName="del" Text="删除" />
</Columns>
</asp:GridView>
PageSize="5" AutoGenerateColumns="False" DataKeyNames="id,name" OnRowCommand="GridView1_RowCommand">
<PagerSettings FirstPageText="首页" LastPageText="尾页" Mode="NextPreviousFirstLast"
NextPageText="下一页" PreviousPageText="上一页" />
<Columns>
<asp:BoundField DataField="name" HeaderText="姓名" />
<asp:BoundField DataField="age" HeaderText="年龄" />
<asp:BoundField DataField="add" HeaderText="地址" />
<asp:ButtonField CommandName="add" Text="添加" />
<asp:ButtonField CommandName="del" Text="删除" />
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataToBind();
}
}
private void DataToBind()
{
GridView1.DataSource = GridViewSource();
GridView1.DataBind();
}
private List<Log> GridViewSource()
{
List<Log> logs = new List<Log>();
for (int i = 1; i < 21; i++)
{
Log log = new Log();
log.Id = i;
log.Title = "Title" + i;
log.LogContext = "LogContext" + i;
logs.Add(log);
}
return logs;
}
public class Log
{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
private string logContext;
public string LogContext
{
get { return logContext; }
set { logContext = value; }
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "add")
{
//e.CommandArgument 为当前页选定的行,下标从 0 开始
//GridView1.DataKeys[index].Values[2].ToString()
//为当前选中的行所对应的在 DataKeyNames="Id,Title,LogContext" 的值。
int index = Convert.ToInt32(e.CommandArgument);
//此时输出的是选中行的 Title 的值
string now = GridView1.DataKeys[index].Values[1].ToString();
Response.Write(index + " | " + now);
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
DataToBind();
}
{
if (!IsPostBack)
{
DataToBind();
}
}
private void DataToBind()
{
GridView1.DataSource = GridViewSource();
GridView1.DataBind();
}
private List<Log> GridViewSource()
{
List<Log> logs = new List<Log>();
for (int i = 1; i < 21; i++)
{
Log log = new Log();
log.Id = i;
log.Title = "Title" + i;
log.LogContext = "LogContext" + i;
logs.Add(log);
}
return logs;
}
public class Log
{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
private string logContext;
public string LogContext
{
get { return logContext; }
set { logContext = value; }
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "add")
{
//e.CommandArgument 为当前页选定的行,下标从 0 开始
//GridView1.DataKeys[index].Values[2].ToString()
//为当前选中的行所对应的在 DataKeyNames="Id,Title,LogContext" 的值。
int index = Convert.ToInt32(e.CommandArgument);
//此时输出的是选中行的 Title 的值
string now = GridView1.DataKeys[index].Values[1].ToString();
Response.Write(index + " | " + now);
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
DataToBind();
}

浙公网安备 33010602011771号