怎样将LIST中的数据绑定到GridView,并实现增删改查

 我来答
查无记录
推荐于2017-09-20 · TA获得超过104个赞
知道答主
回答量:147
采纳率:100%
帮助的人:142万
展开全部
我的一个GridView操作文件,数据源是实体LIST,删改查功能都有了,你参考下
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using lwf_MVC.CTRL;
using lwf_MVC.lwf_Normal;
using lwf_MVC.MODEL;

public partial class admin_news_edit : System.Web.UI.Page
{
public string icls_name = "cls_f_news";

//不同级数系列区别在于iWhere
public string iWhere = " 1 = 1 and ENG = " + WEB.GQ("ENG", "0") + " and TID1 = " + WEB.GQ("SSS", "1") + " and 1 = 1";

public int getRecordCount()
{

cls_f_news if_news = (cls_f_news)CTRL.CreateModel(icls_name);
if_news.title = soKey.Text;
if_news.contents = soKey.Text;
if_news.WHERE = iWhere;
int i_recordcount = CTRL.getCount(if_news, "order by orderid,id desc");
return i_recordcount;

}

protected void Page_Load(object sender, EventArgs e)
{
if (WEB.getSession("userName") == null || WEB.getSession("userName") == "") JS.RD(System.Web.HttpUtility.UrlDecode("%e7%99%bb%e9%99%86%e8%b6%85%e6%97%b6%2c%e8%af%b7%e9%87%8d%e6%96%b0%e7%99%bb").Trim(), "../login.aspx");
if (!IsPostBack)
{
AspNetPagerBin(1);
GridViewBin();
}
}

protected void AspNetPagerBin(int curr)
{

int i_recordcount = getRecordCount();
AspNetPager1.RecordCount = i_recordcount;
AspNetPager1.CurrentPageIndex = curr;

}

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridViewBin();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
GridViewBin();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int i_id = int.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());

cls_f_news baseTableObj = (cls_f_news)CTRL.CreateModel(icls_name, i_id);

baseTableObj.title = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text.ToString();
baseTableObj.newfrom = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text.ToString();
baseTableObj.addTime = DateTime.Parse(((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text.ToString());

baseTableObj.orderid = int.Parse(((TextBox)GridView1.Rows[e.RowIndex].FindControl("tb_orderid_b")).Text.ToString());

if (CTRL.Update(baseTableObj))
{
JS.alert(System.Web.HttpUtility.UrlDecode("%e4%bf%ae%e6%94%b9%e6%88%90%e5%8a%9f").Trim());
}
else
{
JS.alert(System.Web.HttpUtility.UrlDecode("%e7%bd%91%e7%bb%9c%e8%b6%85%e6%97%b6%ef%bc%8c%e8%af%b7%e9%87%8d%e6%96%b0%e5%86%8d%e8%af%95").Trim());
}

//====================================

GridView1.EditIndex = -1;
GridViewBin();

}

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int i_id = int.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString());

cls_f_news baseTableObj = (cls_f_news)CTRL.CreateModel(icls_name, i_id);
if (CTRL.Delete(baseTableObj))
{
JS.alert(System.Web.HttpUtility.UrlDecode("%e8%ae%b0%e5%bd%95%e5%88%a0%e9%99%a4%e6%88%90%e5%8a%9f").Trim());
}
else
{
JS.alert(System.Web.HttpUtility.UrlDecode("%e7%bd%91%e7%bb%9c%e8%b6%85%e6%97%b6%ef%bc%8c%e8%af%b7%e9%87%8d%e6%96%b0%e5%86%8d%e8%af%95").Trim());
}
//====================================

GridView1.EditIndex = -1;
GridViewBin();
}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
GridView1.EditIndex = -1;
GridView1.PageIndex = AspNetPager1.CurrentPageIndex;
GridViewBin();
}

protected void CheckBox_all_CheckedChanged(object sender, EventArgs e)
{
CheckBox_opp.Checked = false;

for (int i_i = 0; i_i <= GridView1.Rows.Count - 1; i_i++)
{
CheckBox ckb = (CheckBox)GridView1.Rows[i_i].FindControl("cb_selBoxs");
if (CheckBox_all.Checked)
{
ckb.Checked = true;
}
else
{
ckb.Checked = false;
}
}
}

protected void CheckBox_opp_CheckedChanged(object sender, EventArgs e)
{
CheckBox_all.Checked = false;

for (int i_i = 0; i_i <= GridView1.Rows.Count - 1; i_i++)
{
CheckBox ckb = (CheckBox)GridView1.Rows[i_i].FindControl("cb_selBoxs");
if (ckb.Checked)
{
ckb.Checked = false;
}
else
{
ckb.Checked = true;
}

}
}

protected void lb_delete_Click(object sender, EventArgs e)
{
for (int i_i = 0; i_i <= GridView1.Rows.Count - 1; i_i++)
{
CheckBox ckb = (CheckBox)GridView1.Rows[i_i].FindControl("cb_selBoxs");
if (ckb.Checked)
{

int i_id = int.Parse(GridView1.DataKeys[i_i].Value.ToString());
cls_f_news baseTableObj = (cls_f_news)CTRL.CreateModel(icls_name, i_id);
CTRL.Delete(baseTableObj);

}
}

int i_Pcount = getRecordCount();

if (AspNetPager1.CurrentPageIndex > i_Pcount)
{
AspNetPagerBin(i_Pcount);
}
else
{
AspNetPagerBin(AspNetPager1.CurrentPageIndex);
}
GridViewBin();
}
protected void lb_order_Click(object sender, EventArgs e)
{
for (int i_i = 0; i_i <= GridView1.Rows.Count - 1; i_i++)
{
TextBox tb = (TextBox)GridView1.Rows[i_i].FindControl("tb_orderid_a");

int i_id = int.Parse(GridView1.DataKeys[i_i].Value.ToString());
cls_f_news baseTableObj = (cls_f_news)CTRL.CreateModel(icls_name, i_id);
baseTableObj.orderid = int.Parse(tb.Text.ToString());
CTRL.Update(baseTableObj);

}
GridViewBin();
}
protected void bt_search_Click(object sender, EventArgs e)
{
AspNetPagerBin(1);
GridViewBin();
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int rowNum;
int id_i;

}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{

}
}

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression;

ViewState["sortExpression"] = sortExpression;

if (ViewState["ASC"].ToString() == "0")
{
ViewState["ASC"] = "1";
}
else
{
ViewState["ASC"] = "0";
}

AspNetPagerBin(1);
GridViewBin();
}

protected void GridViewBin()
{

CheckBox_all.Checked = false;

cls_f_news if_news = (cls_f_news)CTRL.CreateModel(icls_name);
if_news.title = soKey.Text;
if_news.contents = soKey.Text;
if_news.WHERE = iWhere;

int RecordCount;
int curP = Convert.ToInt32(AspNetPager1.CurrentPageIndex);
List<cls_f_news> iList_f_news = CTRL.getPageList(if_news, "order by orderid,id desc", AspNetPager1.PageSize, curP, out RecordCount).ConvertAll<cls_f_news>(delegate(lwf_MVC.MODEL.baseTable s) { return (cls_f_news)s; });

if (ViewState["ASC"] == null) ViewState["ASC"] = "-1";
if (ViewState["sortExpression"] == null) ViewState["sortExpression"] = "orderid";
if (ViewState["ASC"].ToString() == "-1")
{
iList_f_news.Sort(delegate(cls_f_news a, cls_f_news b) { return (new CaseInsensitiveComparer()).Compare(a.GetType().GetProperty(ViewState["sortExpression"].ToString()).GetValue(a, null), b.GetType().GetProperty(ViewState["sortExpression"].ToString()).GetValue(b, null)); });
}
else
{
if (ViewState["ASC"].ToString() == "1")
{
iList_f_news.Sort(delegate(cls_f_news a, cls_f_news b) { return (new CaseInsensitiveComparer()).Compare(a.GetType().GetProperty(ViewState["sortExpression"].ToString()).GetValue(a, null), b.GetType().GetProperty(ViewState["sortExpression"].ToString()).GetValue(b, null)); });
}
else
{
iList_f_news.Sort(delegate(cls_f_news a, cls_f_news b) { return (new CaseInsensitiveComparer()).Compare(b.GetType().GetProperty(ViewState["sortExpression"].ToString()).GetValue(b, null), a.GetType().GetProperty(ViewState["sortExpression"].ToString()).GetValue(a, null)); });

}

}

GridView1.DataSource = iList_f_news;
GridView1.DataKeyNames = new string[] { "id" };
GridView1.DataBind();
}
}
蝶舞and飘雪
2010-09-09 · 超过102用户采纳过TA的回答
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:199万
展开全部
给你个很笨的办法,在页面调用后台的方法,获取数据,显示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桖听sJ
2010-09-09 · TA获得超过451个赞
知道答主
回答量:618
采纳率:100%
帮助的人:181万
展开全部
装箱,装到datatable中去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式