有关 gridview的 (做东西 容易忘记 记下!)
<asp:GridView ID="gvCardInfo" runat="server" CellPadding="4"
GridLines="None" Width="766px" HorizontalAlign="Center" OnRowDeleting="gvCardInfo_RowDeleting" AutoGenerateColumns="False" Font-Size="9pt" OnRowDataBound="gvCardInfo_RowDataBound" OnPageIndexChanging="gvCardInfo_PageIndexChanging" PageSize="15" AllowPaging="True" ForeColor="#333333" DataKeyNames="ReserveID" OnSelectedIndexChanged="gvCardInfo_SelectedIndexChanged" OnRowCommand="gvCardInfo_RowCommand">
<FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:BoundField DataField="ReserverID" HeaderText="回复ID" >
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="TopicID" HeaderText="帖子" >
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:TemplateField HeaderText="回复内容">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ReserveContent") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("ReserveContent") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:BoundField DataField="ReserveDate" HeaderText="回复时间" DataFormatString="{0:D}">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="状态">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("ReserveStatus") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Lblstatus" runat="server" Text='<%# Bind("ReserveStatus") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:HyperLinkField DataNavigateUrlFields="TopicID" DataNavigateUrlFormatString="~/Web/Topic.aspx?ID={0}"
HeaderText="详细信息" Text="详细信息" >
<ControlStyle Font-Underline="False" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:HyperLinkField>
<asp:CommandField HeaderText="删除" ShowDeleteButton="True" >
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ControlStyle Font-Underline="False" />
</asp:CommandField>
<asp:HyperLinkField DataNavigateUrlFields="TopicID" DataNavigateUrlFormatString="MangerTopic.aspx?ID={0}"
HeaderText="处理" Text="处理" >
<ControlStyle Font-Underline="False" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:HyperLinkField>
<asp:ButtonField CommandName="pass" HeaderText="审核" Text="通过">
<ItemStyle HorizontalAlign="Center" />
</asp:ButtonField>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="Cball" runat="server" OnCheckedChanged="Cball_CheckedChanged" AutoPostBack="true"/>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="Cbsig" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<EditRowStyle BackColor="#999999" />
</asp:GridView>
GridLines="None" Width="766px" HorizontalAlign="Center" OnRowDeleting="gvCardInfo_RowDeleting" AutoGenerateColumns="False" Font-Size="9pt" OnRowDataBound="gvCardInfo_RowDataBound" OnPageIndexChanging="gvCardInfo_PageIndexChanging" PageSize="15" AllowPaging="True" ForeColor="#333333" DataKeyNames="ReserveID" OnSelectedIndexChanged="gvCardInfo_SelectedIndexChanged" OnRowCommand="gvCardInfo_RowCommand">
<FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<Columns>
<asp:BoundField DataField="ReserverID" HeaderText="回复ID" >
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:BoundField DataField="TopicID" HeaderText="帖子" >
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:BoundField>
<asp:TemplateField HeaderText="回复内容">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ReserveContent") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("ReserveContent") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>
<asp:BoundField DataField="ReserveDate" HeaderText="回复时间" DataFormatString="{0:D}">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:TemplateField HeaderText="状态">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("ReserveStatus") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Lblstatus" runat="server" Text='<%# Bind("ReserveStatus") %>'></asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:HyperLinkField DataNavigateUrlFields="TopicID" DataNavigateUrlFormatString="~/Web/Topic.aspx?ID={0}"
HeaderText="详细信息" Text="详细信息" >
<ControlStyle Font-Underline="False" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:HyperLinkField>
<asp:CommandField HeaderText="删除" ShowDeleteButton="True" >
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ControlStyle Font-Underline="False" />
</asp:CommandField>
<asp:HyperLinkField DataNavigateUrlFields="TopicID" DataNavigateUrlFormatString="MangerTopic.aspx?ID={0}"
HeaderText="处理" Text="处理" >
<ControlStyle Font-Underline="False" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:HyperLinkField>
<asp:ButtonField CommandName="pass" HeaderText="审核" Text="通过">
<ItemStyle HorizontalAlign="Center" />
</asp:ButtonField>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="Cball" runat="server" OnCheckedChanged="Cball_CheckedChanged" AutoPostBack="true"/>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="Cbsig" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<EditRowStyle BackColor="#999999" />
</asp:GridView>
上面是前台的aspx的代码!
1.用GridView ButtonField列
<asp:ButtonField Text="审核" CommandName="pass"/>
后台处理事件 这个利用 这个自定义 事件的!
protected void gvCardInfo_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "pass")
{
int intRow = int.Parse(e.CommandArgument.ToString()); //获取当前所在行
int ID = Convert.ToInt32(gvCardInfo.DataKeys[intRow].Value.ToString());
string sql = "update Reserve set ReserveStatus=1 where ReserverID="+ID;
if (sh.execCommand(sql))
{
bing();
}
}
}
{
if (e.CommandName == "pass")
{
int intRow = int.Parse(e.CommandArgument.ToString()); //获取当前所在行
int ID = Convert.ToInt32(gvCardInfo.DataKeys[intRow].Value.ToString());
string sql = "update Reserve set ReserveStatus=1 where ReserverID="+ID;
if (sh.execCommand(sql))
{
bing();
}
}
}
2 全选的效果!!
aspx代码中的这个注意下 checkbox给他启用autopostback
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="Cball" runat="server" OnCheckedChanged="Cball_CheckedChanged" AutoPostBack="true"/>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="Cbsig" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="Cball" runat="server" OnCheckedChanged="Cball_CheckedChanged" AutoPostBack="true"/>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="Cbsig" runat="server" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
后台
foreach (GridViewRow gr in gvCardInfo.Rows)
{
CheckBox cb = (CheckBox)gr.Cells[9].FindControl("Cbsig");
if (!cb.Checked)
{
cb.Checked=true;
}
else
{
cb.Checked = false;
}
}
{
CheckBox cb = (CheckBox)gr.Cells[9].FindControl("Cbsig");
if (!cb.Checked)
{
cb.Checked=true;
}
else
{
cb.Checked = false;
}
}
代码全部贴处理吧!!
public partial class Admin_MagReserve : System.Web.UI.Page
{
SqlHelper sh = new SqlHelper();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ bing();
}
}
public void bing()
{
string sqlstr = "select ReserverID,TopicID,ReserveContent,ReserveDate ,ReserveStatus=case when ReserveStatus=0 then '未审核' when ReserveStatus=1 then '审核通过'end from Reserve order by ReserveDate Desc ";
SqlConnection sqlconn = sh.conCreate();
sqlconn.Open();
SqlDataAdapter sqldataadapter = new SqlDataAdapter(sqlstr, sqlconn);
DataSet mydataset = new DataSet();
sqldataadapter.Fill(mydataset);
gvCardInfo.DataSource = mydataset;
gvCardInfo.DataKeyNames = new string[] { "ReserverID" };
gvCardInfo.DataBind();
sqlconn.Close();
}
protected void gvCardInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlstr = "delete from Reserve where ReserverID='" + gvCardInfo.DataKeys[e.RowIndex].Value + "'";
sh.execCommand(sqlstr);
Response.Redirect("List.aspx");
}
protected void gvCardInfo_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
((LinkButton)(e.Row.Cells[6].Controls[0])).Attributes.Add("onclick", "return confirm('确定删除吗?')");
}
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#E3E2E8'");
//下面我们再设置当鼠标离开后背景色再还原
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c;");
//为特定的数改变行样式这也是在这个事件里面,因为这个事件是在数据被绑定的时候执行的
for (int i = 0; i <this.gvCardInfo.Rows.Count; i++)
{ //为了对全部数据行都有用,我们使用循环
string lbl = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "ReserveStatus"));//我们得取出行中state字段绑定的值,用他作为判断条件
if (lbl == "未审核")
{ //如果他的值等于,那么
e.Row.BackColor = Color.LimeGreen;//给当前行的背景色赋值,
}
}
}
protected void gvCardInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvCardInfo.PageIndex = e.NewPageIndex;
gvCardInfo.DataBind();
}
protected void gvCardInfo_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= gvCardInfo.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)gvCardInfo.Rows[i].FindControl("CBsig");
if (cbox.Checked == true)
{
string sqlstr = "delete from Reserve where ReserverID ='" + gvCardInfo.DataKeys[i].Value + "'";
sh.execCommand(sqlstr);
}
}
bing();
}
protected void Cball_CheckedChanged(object sender, EventArgs e)
{
foreach (GridViewRow gr in gvCardInfo.Rows)
{
CheckBox cb = (CheckBox)gr.Cells[9].FindControl("Cbsig");
if (!cb.Checked)
{
cb.Checked=true;
}
else
{
cb.Checked = false;
}
}
}
protected void gvCardInfo_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "pass")
{
int intRow = int.Parse(e.CommandArgument.ToString()); //获取当前所在行
int ID = Convert.ToInt32(gvCardInfo.DataKeys[intRow].Value.ToString());
string sql = "update Reserve set ReserveStatus=1 where ReserverID="+ID;
if (sh.execCommand(sql))
{
bing();
}
}
}
protected void Btnpass_Click(object sender, EventArgs e)
{
for (int i = 0; i <= gvCardInfo.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)gvCardInfo.Rows[i].FindControl("CBsig");
if (cbox.Checked == true)
{
string sqlstr = "update Reserve set ReserveStatus=1 where ReserverID ='" + gvCardInfo.DataKeys[i].Value + "'";
sh.execCommand(sqlstr);
}
}
bing();
}
{
SqlHelper sh = new SqlHelper();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ bing();
}
}
public void bing()
{
string sqlstr = "select ReserverID,TopicID,ReserveContent,ReserveDate ,ReserveStatus=case when ReserveStatus=0 then '未审核' when ReserveStatus=1 then '审核通过'end from Reserve order by ReserveDate Desc ";
SqlConnection sqlconn = sh.conCreate();
sqlconn.Open();
SqlDataAdapter sqldataadapter = new SqlDataAdapter(sqlstr, sqlconn);
DataSet mydataset = new DataSet();
sqldataadapter.Fill(mydataset);
gvCardInfo.DataSource = mydataset;
gvCardInfo.DataKeyNames = new string[] { "ReserverID" };
gvCardInfo.DataBind();
sqlconn.Close();
}
protected void gvCardInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string sqlstr = "delete from Reserve where ReserverID='" + gvCardInfo.DataKeys[e.RowIndex].Value + "'";
sh.execCommand(sqlstr);
Response.Redirect("List.aspx");
}
protected void gvCardInfo_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
((LinkButton)(e.Row.Cells[6].Controls[0])).Attributes.Add("onclick", "return confirm('确定删除吗?')");
}
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#E3E2E8'");
//下面我们再设置当鼠标离开后背景色再还原
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c;");
//为特定的数改变行样式这也是在这个事件里面,因为这个事件是在数据被绑定的时候执行的
for (int i = 0; i <this.gvCardInfo.Rows.Count; i++)
{ //为了对全部数据行都有用,我们使用循环
string lbl = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "ReserveStatus"));//我们得取出行中state字段绑定的值,用他作为判断条件
if (lbl == "未审核")
{ //如果他的值等于,那么
e.Row.BackColor = Color.LimeGreen;//给当前行的背景色赋值,
}
}
}
protected void gvCardInfo_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gvCardInfo.PageIndex = e.NewPageIndex;
gvCardInfo.DataBind();
}
protected void gvCardInfo_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= gvCardInfo.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)gvCardInfo.Rows[i].FindControl("CBsig");
if (cbox.Checked == true)
{
string sqlstr = "delete from Reserve where ReserverID ='" + gvCardInfo.DataKeys[i].Value + "'";
sh.execCommand(sqlstr);
}
}
bing();
}
protected void Cball_CheckedChanged(object sender, EventArgs e)
{
foreach (GridViewRow gr in gvCardInfo.Rows)
{
CheckBox cb = (CheckBox)gr.Cells[9].FindControl("Cbsig");
if (!cb.Checked)
{
cb.Checked=true;
}
else
{
cb.Checked = false;
}
}
}
protected void gvCardInfo_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "pass")
{
int intRow = int.Parse(e.CommandArgument.ToString()); //获取当前所在行
int ID = Convert.ToInt32(gvCardInfo.DataKeys[intRow].Value.ToString());
string sql = "update Reserve set ReserveStatus=1 where ReserverID="+ID;
if (sh.execCommand(sql))
{
bing();
}
}
}
protected void Btnpass_Click(object sender, EventArgs e)
{
for (int i = 0; i <= gvCardInfo.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)gvCardInfo.Rows[i].FindControl("CBsig");
if (cbox.Checked == true)
{
string sqlstr = "update Reserve set ReserveStatus=1 where ReserverID ='" + gvCardInfo.DataKeys[i].Value + "'";
sh.execCommand(sqlstr);
}
}
bing();
}