protected void gdv_RowEditing(object sender, GridViewEditEventArgs e)
{
string s = gdv.Rows[e.NewEditIndex].Cells[1].Text;
}
但是这样取不到,如何才能取到?
{
string s = gdv.Rows[e.NewEditIndex].Cells[1].Text;
}
但是这样取不到,如何才能取到?
解决方案 »
- 点击gridview点击一行,打开新页面,求c#源码
- 关于页面多次查询数据库的问题
- 设计了一个IDAL接口,还大家看看还需要什么规格?
- 如何给ObjectDataSource里调用的更新方法添加参数并赋值
- 以图片中心放大问题,但图片尺寸不变,有经验的给点意见,谢谢,有具体说明,在线等
- windows 7 读取图片问题
- [我要疯了][难题一道][在线等待] 为什么我的 TextBox 不接受中文?
- js执行顺序的问题
- 请问,某个aspx执行页面的路径
- 关于DataGrid,DataList的一些问题
- 检测到有潜在危险的 Request.Form 值[已经添加了validateRequest="false"]
- c# response.write 换行
建议你用CSS 样式去隐藏它
这样不影响你外观
而且后台也能取到值
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[1].Visible = false;
}
}
然后再取值
string s = gdv.Rows[i].Cells[1].Text.Replace(" ", "");
<asp:TemplateField Visible="False">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("EmailSetId") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
后台
long indexId = Convert.ToInt32(((Label)row.Cells[0].FindControl("Label1")).Text.Trim());
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:Label ID="slblDesignerID" runat="server" Text='<%# Eval("DesignerID")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
在事件里面
Label ctr =((Label)(gdv.Rows[e.NewEditIndex].Cells[1].FindControl("slblDesignerID")));
然后 ctr.Text 就是值了
<style type="text/css">
.hid
{
display:none;
}
</style>gdv.Rows[e.NewEditIndex].Cells[9].Text;因为如果你把这一列的visible设成false,取出来的Text绝对是空的
<asp:GridView ID="gvd" runat ="server" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hfield" runat ="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle Wrap="True" />
</asp:GridView>二是对GridView的数据源进行处理 把不显示的数据不绑定在GridView就行了,需要的时候操作数据源就行了. //增加一列即可 绑定时选择自己需要的列进行绑定
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = Publicdt.NewRow();
dr[0] = dt.Rows[i][0];
dr[1] = dt.Rows[i][1];
dr[2] = dt.Rows[i][2];
dr[3] = dt.Rows[i][3];
dr[4] = dt.Rows[i][4];
dr[5] = dt.Rows[i][5];
dr[6] = dt.Rows[i][6];
dr[7] = FnStateChange(Convert.ToInt32(dt.Rows[i][5].ToString()));
Publicdt.Rows.Add(dr);
}
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hfield" runat ="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle Wrap="True" />
</asp:GridView>
如果是这样隐藏的话,可以这样写获取值
HiddenField hidId = (HiddenField)this.GridView1.Rows[e.RowIndex].FindControl("hidId");
string id=hidId.Value;
<asp:TemplateField HeaderText="供应商代码" SortExpression="Code">
<ItemTemplate>
<asp:Label ID="lblVendorCode" runat="server" Text='<%#Eval("VendorCode")%>'></asp:Label>
</ItemTemplate>
<ItemStyle CssClass="hidden" />
<HeaderStyle CssClass="hidden" /> </asp:TemplateField><style type="text/css">
.hidden
{display:none}
</style>
通过CSS隐藏
这种方式可以通过
Label lbl = GridView.Rows[i].FindContrl("lblVendorCode") as Label
lbl.Text就是你绑定的值
的方式获取