当点击GridView中的某字段时怎么在另一个Gridview中获取当前字段的详细信息呢 下面有详细的说法

当点击GridView中的某字段时怎么在另一个Gridview中获取当前字段的详细信息呢 下面有详细的说法,第1张

大概了解了一下

1、你在GridView的SelectionChanged事件中获取当前行的信息

ContractID = dGV_ContractCurrentRowCells["你要获取的信息列名"]ValueToString();

然后你可以在复选框的CheckedChanged事件里写

dGV_DegreeStatsColumns["你要隐藏的列名"]Visible = false; //false是隐藏,true显示

你的这个Id是指主键吗?

如果是主键,你可以到GridView里面去设定成如:

DataKeyNames="id"

<asp:GridView ID="gdvUserInfo" runat="server" AutoGenerateColumns="False" DataKeyNames="id">

获取的时候:

/// <summary>

/// 删除信息事件

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void gdvUserInfo_RowDeleting(object sender, GridViewDeleteEventArgs e)

{

string id =gdvUserInfoDataKeys[eRowIndex]ValueToString();

if (infoDeleteUserInfoById(id) > 0)

{

thislblMessageText = "删除成功!";

LoadInfo();

}

else

{

thislblMessageText = "删除失败!";

LoadInfo();

}

}

/// <summary>

/// 编辑事件

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void gdvUserInfo_RowEditing(object sender, GridViewEditEventArgs e)

{

gdvUserInfoEditIndex = eNewEditIndex;

LoadInfo();

}

/// <summary>

/// 取消编辑事件

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void gdvUserInfo_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)

{

gdvUserInfoEditIndex = -1;

LoadInfo();

}

/// <summary>

/// 更新事件

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void gdvUserInfo_RowUpdating(object sender, GridViewUpdateEventArgs e)

{

string userId = gdvUserInfoDataKeys[eRowIndex]ValueToString();

TextBox txtUserId = (TextBox)gdvUserInfoRows[eRowIndex]Cells[0]FindControl("txtUserId");

TextBox txtUserName = (TextBox)gdvUserInfoRows[eRowIndex]Cells[0]FindControl("txtUserName");

TextBox txtPassWord = (TextBox)gdvUserInfoRows[eRowIndex]Cells[0]FindControl("txtPassWord");

if (txtUserName != null && txtPassWord != null)

{

try

{

UserInfo user = infoGetUserInfoById(userId);

userUserName = txtUserNameTextToString();

userPassword = txtPassWordTextToString();

if (infoModifyUserInfo(user) > 0)

{

thislblMessageText = "修改成功!";

gdvUserInfoEditIndex = -1;

LoadInfo();

}

else

{

thislblMessageText = "修改失败!";

gdvUserInfoEditIndex = -1;

LoadInfo();

}

}

catch (Exception)

{

thislblMessageText = "修改失败!";

gdvUserInfoEditIndex = -1;

LoadInfo();

}

}

}

/// <summary>

///

/// 光棒事件

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void gdvUserInfo_RowDataBound(object sender, GridViewRowEventArgs e)

{

for (int i = 0; i < gdvUserInfoRowsCount; i++)

{

if (gdvUserInfoRows[i]RowType == DataControlRowTypeDataRow)

{

gdvUserInfoRows[i]AttributesAdd("onmouseover", "c=thisstylebackgroundColor;thisstylebackgroundColor='#9cf'");

gdvUserInfoRows[i]AttributesAdd("onmouseout", "thisstylebackgroundColor=c");

}

}

}

GridView1Rows[0]Cells[0]Text

用这个获取0行0列单元格内的值。然后根据你自己的业务逻辑,用循环去拿不同行不同列中的值,只要改变那两个0就可以了。

首先在后台

GridView1DataKeyNames = new string[] { "id" };

或者前台

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" DataKeyNames = "id"

设置DataKeyNames 的属性值进行绑定

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)

{

string id = thisGridView1DataKeys[eNewSelectedIndex]ValueToString();

}

然后通过后台进行获取

为GridView的DataKeyNames属性设置库表字段名的主要目的是为了在为GridView控件绑定数据时获取当前行指定字段的值,以便作相应处理。若无此需求的话则GridView的DataKeyNames属性就可以不设置。

因为gridview根本没有cellclick事件之类的东西,所以想实现点击哪个单元格就d出列标题,行标题是比较麻烦。

解决方法,我想到两种:

1、在为gridview绑定数据时,就动态为每一个单元格生成一个JS的onclick事件,d出列标题和行标题。但是,代码很复杂,我也没写过。

2、这个方法比较简单,以前也有写过。

定义模板列,将每个数据显示在label上,在label的click事件里写代码,就可以获取到

以上就是关于当点击GridView中的某字段时怎么在另一个Gridview中获取当前字段的详细信息呢 下面有详细的说法全部的内容,包括:当点击GridView中的某字段时怎么在另一个Gridview中获取当前字段的详细信息呢 下面有详细的说法、你好,对于你的“如何获取Gridview中编辑字段的值”这个问题我有个类似的问题寻求下帮助、在gridview中如何获取其中字段值来赋值为一个变量,使之能判断。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9508081.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存