首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView点击事件的有关问题

2012-02-12 
GridView点击事件的问题各位:我的GridView加入编辑删除等按钮protectedvoidgvNetnum_RowUpdating这个事件

GridView点击事件的问题
各位:
我的GridView   加入   编辑   删除等按钮
protected   void   gvNetnum_RowUpdating
这个事件   点击后我要获得   点击后这行   某一列的值   怎么做啊  
以前2003我用
string   ID   =   e.Item.Cells[1].Text.ToString();

2005  
//GridViewRow   row   =   gvNetnum.SelectedRow;
//string   aa   =   row.Cells[1].Text.ToString();
都取不出来值啊?   谢谢大家帮帮我啊   新手啊

[解决办法]
protected void GridView_UpdateCommand(object sender, GridViewUpdateEventArgs e)
{
//参考
gridView.Rows[e.RowIndex].Cells
gridView.Rows[e.RowIndex].FindControl()
}
[解决办法]
#region//更新展开编辑列事件
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string nameStr = " ";
string addressStr = " ";
string cityStr = " ";
string stateStr = " ";
string zipStr = " ";

string updateStr = "update authors set au_lname=@name,address=@address,city=@city,state=@state,zip=@zip where au_id=@id ";
this.conString();
com = new SqlCommand(updateStr,con);
com.Parameters.Add( "@name ",System.Data.SqlDbType.VarChar,40);
com.Parameters.Add( "@address ",System.Data.SqlDbType.VarChar,40);
com.Parameters.Add( "@city ",System.Data.SqlDbType.VarChar,20);
com.Parameters.Add( "@state ",System.Data.SqlDbType.Char,2);
com.Parameters.Add( "@zip ",System.Data.SqlDbType.Char,5);
com.Parameters.Add( "@id ",System.Data.SqlDbType.Int,4);

GridViewRow gvRow = this.GridView1.Rows[e.RowIndex];//建立GridView行对象
TextBox nametxt = (TextBox)gvRow.Controls[1].Controls[0];
TextBox addresstxt = (TextBox)gvRow.Controls[2].Controls[0];
TextBox citytxt = (TextBox)gvRow.Controls[3].Controls[0];
TextBox statetxt = (TextBox)gvRow.Controls[4].Controls[0];
TextBox ziptxt = (TextBox)gvRow.Controls[5].Controls[0];

nameStr = nametxt.Text;
addressStr = addresstxt.Text;
cityStr = citytxt.Text;
stateStr = statetxt.Text;
zipStr = ziptxt.Text;

string ValStr = this.ValUpdate(nameStr,addressStr,cityStr,stateStr,zipStr);

if (ValStr == "ok ")
{
com.Parameters[ "@id "].Value = this.GridView1.DataKeys[(int)e.RowIndex].Value.ToString();
com.Parameters[ "@name "].Value = nameStr;
com.Parameters[ "@address "].Value = addressStr;
com.Parameters[ "@city "].Value = cityStr;
com.Parameters[ "@state "].Value = stateStr;
com.Parameters[ "@zip "].Value = zipStr;

try
{
con.Open();
com.ExecuteNonQuery();
this.Label3.Text = "更新成功! ";
con.Close();
}
catch (Exception ex)
{
this.Label3.Text = "无法更新! " + ex.Message;
}
finally
{
this.GridView1.EditIndex = -1;
this.Bind();
}
}
else
{
this.Label3.Text = ValStr;
}
}


#endregion
[解决办法]
我这个是去textbox的 你可以改一下
((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.Trim()
[解决办法]
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int index, i;

string strConn = System.Configuration.ConfigurationManager.AppSettings[ "PWTDBConnection "].ToString();
SqlConnection mycon = new SqlConnection(strConn);
mycon.Open();
SqlCommand mycmd;
index = Convert.ToInt32(e.CommandArgument) - 1;定位某一行
Web_urlid = Convert.ToInt32(GridView1.Rows[index].Cells[0].Text);取定位行的某列的值
[解决办法]
要更新某行中的一个值,首先得让该行处于编辑状态,因此就先找到编辑事件的委托,选中你的gridview然后在它的事件里找到RowEditing事件,双击进去写它的事件处理函数,然后同理再写RowUpdating事件的处理函数.
[解决办法]
先对你要更新的行进行实力化出一个行对象:
GridViewRow gvRow = this.GridView1.Rows[e.RowIndex];//建立GridView行对象
然后把你每个字段要更新的内容取出来,上面已经和你说过了的
TextBox nametxt = (TextBox)gvRow.Controls[1].Controls[0];
TextBox addresstxt = (TextBox)gvRow.Controls[2].Controls[0];
TextBox citytxt = (TextBox)gvRow.Controls[3].Controls[0];
TextBox statetxt = (TextBox)gvRow.Controls[4].Controls[0];
TextBox ziptxt = (TextBox)gvRow.Controls[5].Controls[0];

[解决办法]
这个是 取出 当你点击编辑 按钮时 不是出现很多 文本框让你填值修改吗
这个取出的就是 你填写修改后的值啊
[解决办法]
是一个代码啊
我的意思是要告诉你 你再更新某一行记录的时候要先 实力化本行的对象

实在不行 你就自己加断点看看 取出来的值到底都是什么
[解决办法]
在顶一个

热点排行