ASP.Net GridView 通过每列checkbox使得特定单元格进入编辑模式 15
GridView每行第一列是Checkbox,在浏览模式下,点击某列的chekbox使得这一列特定的单元格进入到编辑模式EditTemplate;具体哪些列是从SQLSe...
GridView每行第一列是Checkbox, 在浏览模式下,点击某列的chekbox使得这一列特定的单元格进入到编辑模式EditTemplate;具体哪些列是从SQL Server里表里读的(针对不同登录用户设置不同列的权限,就用1和0 表示的);请问怎样实现:对于chekbox选定行的特定列进入到编辑模式;以及取消选定退出编辑模式。谢谢!尽量能给些C#代码或者链接。
展开
展开全部
1.点击某列的chekbox使得这一列特定的单元格进入到编辑模式EditTemplate;具体哪些列是从SQL Server里表里读的
答:绑定数据源即可
2.针对不同登录用户设置不同列的权限,就用1和0 表示的
答:设置一个变量,比如userid,判断userid==0或==1,可以把userid做成session变量。
3.chekbox选定行的特定列进入到编辑模式;以及取消选定退出编辑模式
答:需要加两个button控件,一个编辑,一个取消。
相关代码:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow) return;
if (e.Row.FindControl("Button1") != null)
{
Button CtlButton1 = (Button)e.Row.FindControl("Button1");
CtlButton1.Click += new EventHandler(CtlButton1_Click);
}
if (e.Row.FindControl("Button2") != null)
{
Button CtlButton2 = (Button)e.Row.FindControl("Button2");
CtlButton2.Click += new EventHandler(CtlButton2_Click);
}
}
private void CtlButton1_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
GridViewRow gvr = (GridViewRow)button.Parent.Parent;
string 变量;
函数();
ClientScript.RegisterStartupScript(GetType(), null, "<script language=\"javascript\">alert('xxxx);</script>");
Page_Load(null, null);
}
private void CtlButton2_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
GridViewRow gvr = (GridViewRow)button.Parent.Parent;
string leave_num = GridView1.DataKeys[gvr.RowIndex].Value.ToString();
string 变量;
函数();
ClientScript.RegisterStartupScript(GetType(), null, "<script language=\"javascript\">alert('xxxx');</script>");
Page_Load(null, null);
}
答:绑定数据源即可
2.针对不同登录用户设置不同列的权限,就用1和0 表示的
答:设置一个变量,比如userid,判断userid==0或==1,可以把userid做成session变量。
3.chekbox选定行的特定列进入到编辑模式;以及取消选定退出编辑模式
答:需要加两个button控件,一个编辑,一个取消。
相关代码:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow) return;
if (e.Row.FindControl("Button1") != null)
{
Button CtlButton1 = (Button)e.Row.FindControl("Button1");
CtlButton1.Click += new EventHandler(CtlButton1_Click);
}
if (e.Row.FindControl("Button2") != null)
{
Button CtlButton2 = (Button)e.Row.FindControl("Button2");
CtlButton2.Click += new EventHandler(CtlButton2_Click);
}
}
private void CtlButton1_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
GridViewRow gvr = (GridViewRow)button.Parent.Parent;
string 变量;
函数();
ClientScript.RegisterStartupScript(GetType(), null, "<script language=\"javascript\">alert('xxxx);</script>");
Page_Load(null, null);
}
private void CtlButton2_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
GridViewRow gvr = (GridViewRow)button.Parent.Parent;
string leave_num = GridView1.DataKeys[gvr.RowIndex].Value.ToString();
string 变量;
函数();
ClientScript.RegisterStartupScript(GetType(), null, "<script language=\"javascript\">alert('xxxx');</script>");
Page_Load(null, null);
}
追问
主要想问的是第一个问题,怎么实现对于特定列单元格浏览/编辑模式的转换,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据源datatable添加一列isEditing,根据checkbox是否选中设置true或者false,然后重新绑定这个新的数据源。
追问
请再详细点好么,简单写写神马的
追答
html:gridview
' Visible=''>
不用editTemplate。每行的单元格直接根据绑定的datatable的canEdit来确定是编辑还是浏览。
把你的datatable存储在页面,点击checkbox时候设置相应行的canedit=true,然后重新绑定gridview=newdatatable。取消编辑做相反地操作。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询