对GridView的行加颜色并弹出Kindeditor的实现思路
对GridView的行加颜色并弹出Kindeditor的实现思路
发布时间:2016-12-29 来源:查字典编辑
摘要:前台代码:复制代码代码如下:functiontureDelete(){if(confirm('真的要删除吗?')==false){retur...

前台代码:

复制代码 代码如下:

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title></title>

<script type="text/javascript">

function tureDelete() {

if (confirm('真的要删除吗?') == false)

{ return false;}

}

function showdiv()

{

document.getElementByIdx_x("show1").style.display = "block";

document.getElementByIdx_x("showDiv").style.display = "block";

}

</script>

<link rel="stylesheet" href="Kindeditor/themes/default/default.css" />

<link rel="stylesheet" href="Kindeditor/plugins/code/prettify.css" />

<script charset="utf-8" src="Kindeditor/kindeditor.js"></script>

<script charset="utf-8" src="Kindeditor/lang/zh_CN.js"></script>

<script charset="utf-8" src="Kindeditor/plugins/code/prettify.js"></script>

<script>

KindEditor.ready(function (K) {

var editor1 = K.create('#content1', {

cssPath: 'Kindeditor/plugins/code/prettify.css',

uploadJson: 'Kindeditor/asp.net/upload_json.ashx',

fileManagerJson: 'Kindeditor/asp.net/file_manager_json.ashx',

allowFileManager: true,

afterCreate: function () {

var self = this;

K.ctrl(document, 13, function () {

self.sync();

K('form[name=example]')[0].submit();

});

K.ctrl(self.edit.doc, 13, function () {

self.sync();

K('form[name=example]')[0].submit();

});

}

});

prettyPrint();

});

</script>

<style type="text/css">

#showDiv {

position:absolute;

top:50%;

left:50%;

margin-left:-350px;

margin-top:-250px;

}

</style>

</head>

<body>

<asp:Label ID="Label1" runat="server" Visible="false" Text=""></asp:Label>

<form id="form1" runat="server">

<div id="show1"></div>

<div id="showDiv">

<table>

<tr>

<td>

标题

</td>

<td>

<asp:TextBox ID="txtTitle" runat="server" Width="250px"></asp:TextBox>

</td>

</tr>

<tr>

<td>

内容

</td>

<td>

<textarea id="content1" cols="100" rows="8" runat="server"></textarea>

</td>

</tr>

<tr>

<td>

类别

</td>

<td>

<asp:DropDownList ID="ddlClassName" runat="server">

</asp:DropDownList>

</td>

</tr>

<tr>

<td>

用户

</td>

<td>

<asp:DropDownList ID="ddlUser" runat="server">

</asp:DropDownList>

</td>

</tr>

<tr>

<td align="center" colspan="2">

<asp:Button ID="btnUpdate" runat="server" Text="保存" />

</td>

</tr>

</table>

</div>

<div >

<table>

<tr>

<td>

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" OnSorting="GridView1_Sorting" OnRowDataBound="GridView1_RowDataBound" ShowFooter="True">

<Columns>

<asp:TemplateField HeaderText="选择">

<ItemTemplate>

<asp:CheckBox ID="ck1" runat="server" />

</ItemTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="标题">

<ItemTemplate>

<a href='WebForm1.aspx?id=<%#eval_r("Id") %>'><%#eval_r("NewsTitle") %></a>

</ItemTemplate>

</asp:TemplateField>

<asp:BoundField DataField="NewsContent" HeaderText="内容" />

<asp:BoundField DataField="RealName" HeaderText="创建者" SortExpression="RealName" />

<asp:BoundField DataField="CreateTime" DataFormatString="{0:yyyy-mm-dd hh:mm:ss}" HeaderText="创建时间" SortExpression="CreateTime" />

<asp:BoundField DataField="ClassName" HeaderText="类型" />

<asp:TemplateField HeaderText="操作">

<ItemTemplate>

<asp:LinkButton ID="linkbtnEdit" CommandArgument='<%# eval_r("Id") %>' runat="server">编辑</asp:LinkButton>

<asp:LinkButton ID="linkDelete" CommandArgument='<%# eval_r("Id") %>' runat="server">删除</asp:LinkButton>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

</td>

</tr>

<tr>

<td>

<asp:LinkButton ID="lbtnFirst" runat="server">第一页</asp:LinkButton>

<asp:LinkButton ID="lbtnProc" runat="server">上一页</asp:LinkButton>

<asp:LinkButton ID="lbtnNext" runat="server">下一页</asp:LinkButton>

<asp:LinkButton ID="lbtnLast" runat="server">最后一页</asp:LinkButton>

<asp:Button ID="Button1" runat="server" Text="删除" OnClientClick="return tureDelete()" />

<asp:Button ID="Button2" runat="server" Text="弹出层" />

</td>

</tr>

</table>

</div>

</form>

</body>

后台代码:

复制代码 代码如下:

public partial class GridView : System.Web.UI.Page

{

string constr = "data source=.;initial catalog=News;user id=sa;password=111111;";

string sql = "select T1.Id,T1.NewsTitle,SUBSTRING(T1.NewsContent,0,20) as NewsContent,T2.RealName,T1.CreateTime,T3.ClassName from (select ROW_NUMBER() over (order by Id) as rownumber,* from T_News) T1 left join T_User T2 on T1.NewsCreator=T2.UserId left join T_NewsClass T3 on T1.ClassId=T3.ClassId where rownumber>(@pageIndex-1)*@pageSize and rownumber<=@pageIndex*@pageSize";

int count;

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

ViewState["pageIndex"] = 1;

DataPage(sql);

}

}

private void DataPage(string sql)

{

SqlConnection conn = new SqlConnection(constr);

conn.Open();

SqlCommand cmd = conn.CreateCommand();

// string sql = "select T1.Id,T1.NewsTitle,SUBSTRING(T1.NewsContent,0,20) as NewsContent,T2.RealName ,T1.CreateTime,T3.ClassName from T_News1 T1 join T_User T2 on T1.NewsCreator=T2.UserId join T_NewsClass T3 on T1.ClassId=T3.ClassId";

cmd.Parameters.AddWithValue("@pageSize", 10);

cmd.Parameters.AddWithValue("@pageIndex", Convert.ToInt32(ViewState["pageIndex"]));

cmd.CommandText = sql;

SqlDataAdapter adapter = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

adapter.Fill(dt);

string sql1 = "select count(*) from T_News";

cmd.CommandText = sql1;

int i =Convert.ToInt32(cmd.ExecuteScalar());

if (i % 10 == 0)

{

ViewState["pageCount"] = i / 10;

}

else

{ ViewState["pageCount"] = i / 10+1; }

conn.Close();

conn.Dispose();

GridView1.DataSource = dt;

GridView1.DataBind();

}

protected void lbtnFirst_Click(object sender, EventArgs e)

{

ViewState["pageIndex"] = 1;

DataPage(sql);

}

protected void lbtnProc_Click(object sender, EventArgs e)

{

int i=Convert.ToInt32(ViewState["pageIndex"]) ;

if (i>1)

{

i--;

ViewState["pageIndex"] = i;

DataPage(sql);

}

}

protected void lbtnNext_Click(object sender, EventArgs e)

{

int i = Convert.ToInt32(ViewState["pageIndex"]);

if (i <Convert.ToInt32(ViewState["pageCount"]))

{

i++;

ViewState["pageIndex"] = i;

DataPage(sql);

}

}

protected void lbtnLast_Click(object sender, EventArgs e)

{

ViewState["pageIndex"] = ViewState["pageCount"];

DataPage(sql);

}

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)

{

if (ViewState["sortExp"] == null)

{

Dictionary<string, string> dic = new Dictionary<string, string>();

dic.Add(e.SortExpression, "ASC");

ViewState["sortExp"] = dic;

sql += " Order by " + e.SortExpression + " " + dic[e.SortExpression];

DataPage(sql);

}

else

{

//判断用户本次点击的排序字段是否和上次点击的排序字段一致,如果一致的话,那么就更改此字段的排序规则,如果不是就清除上次的排序字段,添加新的排序字段和规则(这是根据一个字段排序的情况)

Dictionary<string, string> dic = ViewState["sortExp"] as Dictionary<string, string>;

if (dic.ContainsKey(e.SortExpression))

{

if (dic[e.SortExpression] == "ASC")

{

dic[e.SortExpression] = "DESC";

}

else

{

dic[e.SortExpression] = "ASC";

}

}

else//如果不包含的话就生新创建一个

{

//dic.Clear();

dic.Add(e.SortExpression, "ASC");

}

sql +=" Order by "+ e.SortExpression + " " + dic[e.SortExpression];

DataPage(sql);

}

}

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

if (e.Row.RowType == DataControlRowType.Header)

{

for (int i = 0; i < e.Row.Cells.Count; i++)

{

if (e.Row.Cells[i].Controls.Count > 0)

{

LinkButton link = e.Row.Cells[i].Controls[0] as LinkButton;

string sortexp = link.CommandArgument;

if (ViewState["sortExp"] != null)

{

Dictionary<string, string> dic = ViewState["sortExp"] as Dictionary<string, string>;

if (dic.ContainsKey(sortexp))

{

Literal li = new Literal();

if (dic[sortexp] == "ASC")

{

li.Text = "↑";

}

else

{

li.Text = "↓";

}

e.Row.Cells[i].Controls.Add(li);

}

}

}

}

}

//按条件给gridview的行加背景颜色

if (e.Row.RowType == DataControlRowType.DataRow)

{

if (e.Row.Cells[3].Text == "肖唯哲")

{

e.Row.BackColor = Color.Red;

//根据条件统计当前页的记录数

count++;

}

}

if (e.Row.RowType == DataControlRowType.Footer)

{

e.Row.Cells.RemoveAt(6);

e.Row.Cells.RemoveAt(5);

e.Row.Cells.RemoveAt(4);

e.Row.Cells.RemoveAt(3);

e.Row.Cells.RemoveAt(2);

e.Row.Cells.RemoveAt(1);

e.Row.Cells[0].ColumnSpan = 8;

e.Row.Cells[0].HorizontalAlign = HorizontalAlign.Right;

e.Row.Cells[0].Text = string.Format("肖唯哲:{0}", count);

}

}

protected void Button1_Click(object sender, EventArgs e)

{

string sqlid = string.Empty;

foreach (GridViewRow row in this.GridView1.Rows)

{

CheckBox ck1=row.Cells[0].FindControl("ck1") as CheckBox;

if (ck1.Checked == true)

{

LinkButton link=row.Cells[6].FindControl("linkbtnEdit") as LinkButton;

sqlid +=" "+link.CommandArgument + " ,";

}

}

string sql1 = "delete from T_News where Id in (" + sqlid.TrimEnd(',')+")";

int i= DeleteDatas(sql1);

if (i > 0)

{

ClientScript.RegisterStartupScript(this.GetType(), "key", "alert('删除成功!')", true);

DataPage(sql);

}

}

private int DeleteDatas(string sql1)

{

SqlConnection conn = new SqlConnection(constr);

conn.Open();

SqlCommand cmd = conn.CreateCommand();

cmd.CommandText = sql1;

int num = Convert.ToInt32(cmd.ExecuteNonQuery());

return num;

conn.Dispose();

}

protected void Button2_Click1(object sender, EventArgs e)

{

//Response.Write("<script type='text/javascript'>showdiv()</script>");

ClientScript.RegisterStartupScript(this.GetType(), "key", "showdiv()", true);

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类