Color the lines of GridView and pop up the implementation idea of Kindeditor

  • 2020-06-01 09:31:24
  • OfStack

Foreground code:
 
<head runat="server"> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
<title></title> 
<script type="text/javascript"> 
function tureDelete() { 
if (confirm(' Do you really want to delete it ?') == 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" style="display:none;background-color: Black;position:absolute; width:100%;height:100%;top:0px;left:0px; opacity:0.3;"></div> 
<div id="showDiv" style="display:none;background-color:bisque;"> 
<table> 
<tr> 
<td> 
 The title  
</td> 
<td> 
<asp:TextBox ID="txtTitle" runat="server" Width="250px"></asp:TextBox> 
</td> 
</tr> 
<tr> 
<td> 
 content  
</td> 
<td> 
<textarea id="content1" cols="100" rows="8" style="width:700px;height:500px;visibility:hidden;" runat="server"></textarea> 
</td> 
</tr> 
<tr> 
<td> 
 category  
</td> 
<td> 
<asp:DropDownList ID="ddlClassName" runat="server"> 
</asp:DropDownList> 
</td> 
</tr> 
<tr> 
<td> 
 The user  
</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=" save " /> 
</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=" choose "> 
<ItemTemplate> 
<asp:CheckBox ID="ck1" runat="server" /> 
</ItemTemplate> 
</asp:TemplateField> 
<asp:TemplateField HeaderText=" The title "> 
<ItemTemplate> 
<a href='WebForm1.aspx?id=<%#eval_r("Id") %>'><%#eval_r("NewsTitle") %></a> 
</ItemTemplate> 
</asp:TemplateField> 
<asp:BoundField DataField="NewsContent" HeaderText=" content " /> 
<asp:BoundField DataField="RealName" HeaderText=" The creator " SortExpression="RealName" /> 
<asp:BoundField DataField="CreateTime" DataFormatString="{0:yyyy-mm-dd hh:mm:ss}" HeaderText=" Creation time " SortExpression="CreateTime" /> 
<asp:BoundField DataField="ClassName" HeaderText=" type " /> 
<asp:TemplateField HeaderText=" operation "> 
<ItemTemplate> 
<asp:LinkButton ID="linkbtnEdit" CommandArgument='<%# eval_r("Id") %>' runat="server"> The editor </asp:LinkButton> 
<asp:LinkButton ID="linkDelete" CommandArgument='<%# eval_r("Id") %>' runat="server"> delete </asp:LinkButton> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
</asp:GridView> 
</td> 
</tr> 
<tr> 
<td> 
<asp:LinkButton ID="lbtnFirst" runat="server" OnClick="lbtnFirst_Click"> The first 1 page </asp:LinkButton> 
<asp:LinkButton ID="lbtnProc" runat="server" OnClick="lbtnProc_Click"> on 1 page </asp:LinkButton> 
<asp:LinkButton ID="lbtnNext" runat="server" OnClick="lbtnNext_Click"> Under the 1 page </asp:LinkButton> 
<asp:LinkButton ID="lbtnLast" runat="server" OnClick="lbtnLast_Click"> The last 1 page </asp:LinkButton> 
&nbsp;&nbsp;&nbsp;&nbsp; 
<asp:Button ID="Button1" runat="server" Text=" delete " OnClick="Button1_Click" OnClientClick="return tureDelete()" /> 
<asp:Button ID="Button2" runat="server" Text=" Pop-up layer " OnClick="Button2_Click1" /> 
</td> 
</tr> 
</table> 
</div> 
</form> 
</body> 

Background code:
 
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 
{ 
// Determine whether the sort field clicked by the user this time is the same as the sort field clicked last time 1 , if 1 If so, change the collation for this field, if not clear the last collation field, and add a new collation field and rule ( That's according to a 1 Sort by field ) 
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// If not, a new creation is created 1 a  
{ 
//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 = " write "; 
} 
else 
{ 
li.Text = " left "; 
} 
e.Row.Cells[i].Controls.Add(li); 
} 
} 
} 
} 
} 
// According to the conditions for gridview Line plus background color  
if (e.Row.RowType == DataControlRowType.DataRow) 
{ 
if (e.Row.Cells[3].Text == " XiaoWei zhe ") 
{ 
e.Row.BackColor = Color.Red; 
// Count the number of records on the current page according to the conditions  
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(" XiaoWei zhe :{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(' Delete the success !')", 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); 
} 
} 

Related articles: