DataList里的DataKeyField值怎么取????????

shenhuifeng2000 2003-10-17 08:16:33
RT
...全文
57 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2003-10-17
  • 打赏
  • 举报
回复
YourDataList.DataKeyField = "ColumnName";
YourDataList.DataSource = ...;
YourDataList.DataBind();

.....
string s = YourDataList.DataKeys[ItemIndex];
使用于新手关于数据的一些控件! public static DataTable ds(string que) { //返回一个装载了SQL制定留言的数据表, string connString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); SqlConnection con = new SqlConnection(connString); con.Open(); SqlDataAdapter oda = new SqlDataAdapter(); oda.SelectCommand = new SqlCommand(que, con); DataSet ds = new DataSet(); oda.Fill(ds, "thc"); con.Close(); return ds.Tables["thc"]; } private void fill() { //做的一个方法,因为页内将有多次的绑定 //这设置一个隐藏的Label,用与储存当前的页索引 int cup = Convert.ToInt32(pagelbl.Text); PagedDataSource ps = new PagedDataSource();//NEW一个分页数据源 ps.DataSource = ds("select * from book_info").DefaultView;//送一个SQL语句进去,确定该数据源的数据源 ps.AllowPaging = true;//允许分页 ps.PageSize = 1;//设置页的数量 ps.CurrentPageIndex = cup - 1; if (!IsPostBack) { //判断页面是否第一次载入 for (int i = 1; i <= ps.PageCount; i++) { //循环出页码 pageddl.Items.Add(i.ToString()); } } //下面主要是控制上下翻页按纽是否起用 pageup.Enabled = true; pagedown.Enabled = true; if (ps.IsFirstPage) { //如果是最前页,上页按纽不可用 pageup.Enabled = false; } if (ps.IsLastPage) { //如果是最后页,下页按纽不可用 pagedown.Enabled = false; } //设置页码下拉菜单当前选中的 pageddl.SelectedItem.Text = cup.ToString(); //终于可以绑定给DataListDataList1.DataSource = ps; DataList1.DataKeyField = "bookid"; DataList1.DataBind(); }
asp.net基于XML的留言板 代码片段: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.dlBind(); } } public void dlBind() { int curpage = Convert.ToInt32(labNowPage.Text); PagedDataSource ps = new PagedDataSource(); SqlConnection mycon = new SqlConnection(ConfigurationManager.AppSettings["ConSQL"]); mycon.Open(); string cmdtxt2 = "SELECT * FROM tb_Reply WHERE ReplyID='" + Request["ID"].ToString() + "'"; SqlDataAdapter MyAdapter = new SqlDataAdapter(cmdtxt2, mycon); DataSet ds = new DataSet(); MyAdapter.Fill(ds, "tb_Reply"); ps.DataSource = ds.Tables["tb_Reply"].DefaultView; ps.AllowPaging = true; //是否可以分页 ps.PageSize = 4; //显示的数量 ps.CurrentPageIndex = curpage - 1; //得当前页的页码 lnkbtnPrve.Enabled = true; lnkbtnTop.Enabled = true; lnkbtnNext.Enabled = true; lnkbtnLast.Enabled = true; if (curpage == 1) { lnkbtnTop.Enabled = false;//不显示第一页按钮 lnkbtnPrve.Enabled = false;//不显示上一页按钮 } if (curpage == ps.PageCount) { lnkbtnNext.Enabled = false;//不显示下一页 lnkbtnLast.Enabled = false;//不显示最后一页 } this.labCount.Text = Convert.ToString(ps.PageCount); this.DataList1.DataSource = ps; this.DataList1.DataKeyField = "ID"; this.DataList1.DataBind(); } protected void lnkbtnTop_Click(object sender, EventArgs e) { this.labNowPage.Text = "1"; this.dlBind(); } protected void lnkbtnPrve_Click(object sender, EventArgs e) { this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) - 1); this.dlBind(); } protected void lnkbtnNext_Click(object sender, EventArgs e) { this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) + 1); this.dlBind(); } protected void lnkbtnLast_Click(object sender, EventArgs e) { this.labNowPage.Text = this.labCount.Text; this.dlBind(); } protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e) { string strid = this.DataList1.DataKeys[e.Item.ItemIndex].ToString(); //获当前DataList控件列 string com = "Delete from tb_Reply where ID='" + Convert.ToInt32(strid) + "'"; SqlData da = new SqlData(); da.ExceSQL(com); Page.Response.Redirect("LeaveWordView.aspx?ID="+Request["ID"].ToString()+""); }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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