gridview 问题 帮帮新手 我想在编辑状态中,其中某列 不能修改即是readyonly=true,请问如何实现,在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 绑定gridview中写代码。设置为 enable = false 将这个列转成模板列,在<EditItemTemplate></EditItemTemplate>这个标签中的TextBox改成Lable不就成了吗 通过模板列,绑定textbox实现修改 编辑列 把readyonly的属性改为true了就不能编辑了··· 编辑列 把readyonly的属性改为true 把该列的allowedit属性设置为false 编辑列 把readyonly的属性改为true enable = false模板列 使用模板列Eval("")绑定编辑模板用Lable --激活编辑状态在GridView1_RowEditing事件下写下面的代码:GridView1.EditIndex = e.NewEditIndex; --编辑数据在GridView1_RowUpdating事件下写下面的代码:sqlcon = new SqlConnection(strCon); string sqlstr = "update 表 set 字段1='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',字段2='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',字段3='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'"; sqlcom=new SqlCommand(sqlstr,sqlcon); sqlcon.Open(); sqlcom.ExecuteNonQuery(); sqlcon.Close(); GridView1.EditIndex = -1; bind(); --取消编辑的话在GridView1_RowCancelingEdit事件下写下面的代码: GridView1.EditIndex = -1; bind(); //绑定 public void bind() { string sqlstr = "select * from 表"; sqlcon = new SqlConnection(strCon); SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon); DataSet myds = new DataSet(); sqlcon.Open(); myda.Fill(myds, "表"); GridView1.DataSource = myds; GridView1.DataKeyNames = new string[] { "id" };//主键 GridView1.DataBind(); sqlcon.Close(); } 直接判断权限可不可以更改撒,如果不可以更改,直接把控件的Enable属性改为false就行了撒个人认为还是用模板列好些,用Label编辑状态也只能看你这种情况应该用个TextBox吧,判断一下权限后改属性 /// <summary> /// 锁定行 /// </summary> /// <param name="id">第几行</param> /// <param name="type">是否解锁 1 是 0 否</param> private void ControlEnabled(int id, int type) { if (type == 1) { ((TextBox)gvHomePage.Rows[id].FindControl("txtUF_HomeContent_Title")).Enabled = true; ((TextBox)gvHomePage.Rows[id].FindControl("txtUF_HomeContent_Url")).Enabled = true; //((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton1")).Enabled = true; ((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton2")).Enabled = true; ((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton3")).Enabled = true; ((LinkButton)gvHomePage.Rows[id].FindControl("lbtn0")).Enabled = true; ((LinkButton)gvHomePage.Rows[id].FindControl("lbtn1")).Enabled = true; ((LinkButton)gvHomePage.Rows[id].FindControl("lbtn2")).Enabled = true; } else if (type == 0) { ((TextBox)gvHomePage.Rows[id].FindControl("txtUF_HomeContent_Title")).Enabled = false; ((TextBox)gvHomePage.Rows[id].FindControl("txtUF_HomeContent_Url")).Enabled = false; //((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton1")).Enabled = false; ((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton2")).Enabled = false; ((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton3")).Enabled = false; ((LinkButton)gvHomePage.Rows[id].FindControl("lbtn0")).Enabled = false; ((LinkButton)gvHomePage.Rows[id].FindControl("lbtn1")).Enabled = false; ((LinkButton)gvHomePage.Rows[id].FindControl("lbtn2")).Enabled = false; } } protected void gvHomePage_DataBound(object sender, EventArgs e) { for (int i = 0; i < this.gvHomePage.Rows.Count; i++) { ((TextBox)gvHomePage.Rows[i].FindControl("txtUF_HomeContent_Title")).MaxLength = zf_num; ControlEnabled(i, 0);//锁定行 } } 用模版列啊,在编辑的时候把那个TextBox换成Label就行了 有关aspx页面转静态页面,发email问题,急。。 Response.Write的异常 该如何Debug??? C#调用C++问题 相似搜索问题 在div+css环境下大家都是用的什么语句来弹出提示窗口的? 请教高手,vs2003里发内嵌图片的邮件应该怎么做 有一个问题困扰着我,一直没有得到答案?希望使用过的人能指点迷津! 自定义Pager 在其他控件中动态加载时 页面第一次打开不显示页数,点击下页等才显示 关于数据库查询问题 求教一个将文本框保存成一个word文档的代码,中间有图片存在。(ASP.NET) ASP.NET 如何实现用指定IP访问某网站?
编辑列 把readyonly的属性改为true
enable = false模板列
Eval("")绑定
编辑模板用Lable
--编辑数据在GridView1_RowUpdating事件下写下面的代码:sqlcon = new SqlConnection(strCon);
string sqlstr = "update 表 set 字段1='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',字段2='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',字段3='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where id='"
+ GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
sqlcom=new SqlCommand(sqlstr,sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
GridView1.EditIndex = -1;
bind();
--取消编辑的话在GridView1_RowCancelingEdit事件下写下面的代码:
GridView1.EditIndex = -1;
bind();
//绑定
public void bind()
{
string sqlstr = "select * from 表";
sqlcon = new SqlConnection(strCon);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
DataSet myds = new DataSet();
sqlcon.Open();
myda.Fill(myds, "表");
GridView1.DataSource = myds;
GridView1.DataKeyNames = new string[] { "id" };//主键
GridView1.DataBind();
sqlcon.Close();
}
如果不可以更改,直接把控件的Enable属性改为false就行了撒
个人认为还是用模板列好些,用Label编辑状态也只能看
你这种情况应该用个TextBox吧,判断一下权限后改属性
/// 锁定行
/// </summary>
/// <param name="id">第几行</param>
/// <param name="type">是否解锁 1 是 0 否</param>
private void ControlEnabled(int id, int type)
{
if (type == 1)
{
((TextBox)gvHomePage.Rows[id].FindControl("txtUF_HomeContent_Title")).Enabled = true;
((TextBox)gvHomePage.Rows[id].FindControl("txtUF_HomeContent_Url")).Enabled = true;
//((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton1")).Enabled = true;
((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton2")).Enabled = true;
((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton3")).Enabled = true;
((LinkButton)gvHomePage.Rows[id].FindControl("lbtn0")).Enabled = true;
((LinkButton)gvHomePage.Rows[id].FindControl("lbtn1")).Enabled = true;
((LinkButton)gvHomePage.Rows[id].FindControl("lbtn2")).Enabled = true;
}
else if (type == 0)
{
((TextBox)gvHomePage.Rows[id].FindControl("txtUF_HomeContent_Title")).Enabled = false;
((TextBox)gvHomePage.Rows[id].FindControl("txtUF_HomeContent_Url")).Enabled = false;
//((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton1")).Enabled = false;
((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton2")).Enabled = false;
((LinkButton)gvHomePage.Rows[id].FindControl("LinkButton3")).Enabled = false;
((LinkButton)gvHomePage.Rows[id].FindControl("lbtn0")).Enabled = false;
((LinkButton)gvHomePage.Rows[id].FindControl("lbtn1")).Enabled = false;
((LinkButton)gvHomePage.Rows[id].FindControl("lbtn2")).Enabled = false;
}
} protected void gvHomePage_DataBound(object sender, EventArgs e)
{
for (int i = 0; i < this.gvHomePage.Rows.Count; i++)
{
((TextBox)gvHomePage.Rows[i].FindControl("txtUF_HomeContent_Title")).MaxLength = zf_num;
ControlEnabled(i, 0);//锁定行
}
}