
public partial class Default4 : SystemWebUIPage
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
FlashView("selet from 表");
}
}
public DataTable GetDT(string SQL)
{
string strConn = "data source=;initial catalog=数据库;uid=登录名;password=密码";
SqlConnection con = new SqlConnection(strConn);
conOpen();
SqlDataAdapter da = new SqlDataAdapter(SQL, con);
DataTable dt = new DataTable();
daFill(dt);
conClose();
return dt;
}
public void FlashView(string SQL)
{
DataTable dt = GetDT(SQL);
GridView1DataSource = dt;
GridView1DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1EditIndex = eNewEditIndex;
FlashView("链接字符串");
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{//这个地方需要强制类型转换
string s1 = ((TextBox)(GridView1Rows[eRowIndex]Cells[0]Controls[0]))Text;
string s2 = ((Label)(GridView1Rows[eRowIndex]Cells[1]Controls[0]))Text;
string s3 = ((DropDownList)(GridView1Rows[eRowIndex]FindControl("DropDownList1")))Text;
//三种控件的的获取方式
//将获取到的值update到你所需要的表中就好了
FlashView("链接字符串");//再刷新一下
}
在进行GridView绑定的时候 有时候使用CommandField 进行绑定 但要根据不同的条件动态改变显示的文 字 则是比较麻烦的 当然 什么模板列则是非常简单的 下面就提供一种使用绑定列修改命令按钮显示文字的方法
CommandField 有个ButtonType属性 有 个枚举值 Button Image Link 根据不同的设置 显示不同的类型 那么就可以在绑定事件里进行修改显示的文字
ASPX 代码<%@ Page Language= C# %>
<!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >
<script runat= server > // 计算数据 完全可以从数据看取得 System Data DataView CreateDataSourceByXianhuiMeng() { System Data DataTable dt = new System Data DataTable(); System Data DataRow dr; dt Columns Add(new System Data DataColumn( id typeof(System Int ))); dt Columns Add(new System Data DataColumn( 学生姓名 typeof(System String))); dt Columns Add(new System Data DataColumn( 语文 typeof(System Decimal))); dt Columns Add(new System Data DataColumn( 数学 typeof(System Decimal))); dt Columns Add(new System Data DataColumn( 英语 typeof(System Decimal))); dt Columns Add(new System Data DataColumn( 计算机 typeof(System Decimal)));
for (int i = ; i < ; i++) { System Random rd = new System Random(Environment TickCount i); ; dr = dt NewRow(); dr[ ] = i i; dr[ ] = 孟子E章 + i ToString(); dr[ ] = System Math Round(rd NextDouble() ); dr[ ] = System Math Round(rd NextDouble() ); dr[ ] = System Math Round(rd NextDouble() ); dr[ ] = System Math Round(rd NextDouble() ); dt Rows Add(dr); } System Data DataView dv = new System Data DataView(dt); return dv; } protected void Page_Load(object sender EventArgs e) { if (!Page IsPostBack) { GridView DataSource = CreateDataSourceByXianhuiMeng(); GridView DataBind(); } }
protected void GridView _RowDataBound(object sender GridViewRowEventArgs e) { if (e Row RowType == DataControlRowType DataRow) { System Data DataRowView dv = e Row DataItem as System Data DataRowView; if (Decimal Parse(dv[ 语文 ] ToString()) > ) { LinkButton b = e Row Cells[ ] Controls[ ] as LinkButton; b Text = 冻结 ; } } }
protected void GridView _RowDeleting(object sender GridViewDeleteEventArgs e) { GridView gv = sender as GridView; Response Write( 要进行 *** 作的主键的值 + gv DataKeys[e RowIndex] Value); }</script>
lishixinzhi/Article/program/net/201311/13942
我有个现成的完整实例:
//前台GridView
<asp:GridView ID="gv_friendlink" runat="server" AutoGenerateColumns="False"
onrowcancelingedit="gv_friendlink_RowCancelingEdit"
onrowediting="gv_friendlink_RowEditing"
onrowupdating="gv_friendlink_RowUpdating" CellPadding="4"
ForeColor="#333333" GridLines="None" Font-Names="楷体_GB2312" Font-Size="Medium"
ShowFooter="True" onrowdeleting="gv_friendlink_RowDeleting" Width="758px">
<Columns>
<asp:TemplateField>
<HeaderTemplate>网站名称</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Labelname" runat="server" style="margin-left:10px;" Width="240" Text='<%#Eval("Fname") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtname" runat="server" style="margin-left:10px;" Width ="200px" Text='<%#Eval("Fname") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>网站完整的网址</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" style="margin-left:10px;" Width ="230px" NavigateUrl='<%#Eval("Furl") %>' Target="_blank"><%#Eval("Furl") %></asp:HyperLink>
<%--<asp:Label ID="Labelurl" runat="server" Text='<%#Eval("Furl") %>'></asp:Label>--%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txturl" runat="server" Text='<%#Eval("Furl") %>' ></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>优先级</HeaderTemplate>
<ItemTemplate>
<center ><asp:Label ID="Labelpriority" runat="server" Text='<%#Eval("FPriority") %>'></asp:Label></center>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtpriority" runat="server" Text='<%#Eval("FPriority") %>' ></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate> 编辑 </HeaderTemplate>
<ItemTemplate>
<center><asp:Button ID="edit" runat="server" Text="编辑" CommandName="edit" /></center>
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="update" runat="server" Text="更新" CommandName="Update" />
<asp:Button ID="cancel" runat="server" Text="取消" CommandName="Cancel" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate> 删除 </HeaderTemplate>
<ItemTemplate>
<center><asp:Button ID="delete" runat="server" Text="删除" CommandName="delete" OnClientClick="return confirm('真的要删除吗?');" /></center>
</ItemTemplate>
<EditItemTemplate></EditItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" HorizontalAlign="Left" />
<EditRowStyle BackColor="#999999" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="LightGray" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>
<br />
<asp:TextBox ID="txt_fname" runat="server" Width="265px"></asp:TextBox>
<asp:TextBox ID="txt_furl" runat="server" Width="225px"></asp:TextBox>
<asp:TextBox ID="txt_fpriority" runat="server" Width="85px"></asp:TextBox>
<asp:Button ID="btn_insert" runat="server" Text="添加链接" onclick="btn_insert_Click" />
//后台代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
((Label)MasterFindControl("lbTitle"))Text = "友情链接管理";
bind();
}
}
protected void bind()
{
SystemDataDataSet ds = new zdxkBLLfriendlinks()GetAllList();
gv_friendlinkDataKeyNames = new string[] { "id" };
gv_friendlinkDataSource = ds;
gv_friendlinkDataBind();
}
protected void gv_friendlink_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
gv_friendlinkEditIndex = -1;
bind();
}
protected void gv_friendlink_RowEditing(object sender, GridViewEditEventArgs e)
{
gv_friendlinkEditIndex = eNewEditIndex;
bind();
}
protected void gv_friendlink_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
try
{
zdxkModelfriendlinks link = new zdxkModelfriendlinks();
linkid = ConvertToInt64(gv_friendlinkDataKeys[eRowIndex]Value);
linkfname = ((TextBox)(gv_friendlinkRows[eRowIndex]FindControl("txtname")))TextToString();
linkfurl = ((TextBox)(gv_friendlinkRows[eRowIndex]FindControl("txturl")))TextToString();
linkfpriority = ConvertToInt32(((TextBox)(gv_friendlinkRows[eRowIndex]FindControl("txtpriority")))Text);
if (linkfname == "" || linkfurl == "" || linkfpriority <= 0)
{
MessageBoxShow(this, "优先级必须大于0,请填写完整信息!");
eCancel = true;
}
;
if (new zdxkBLLfriendlinks()Update(link))
{
MessageBoxShow(this, "更新成功!");
gv_friendlinkEditIndex = -1;
bind();
}
else MessageBoxShow(this, "更新失败,请重试!");
}
catch (Exception)
{
MessageBoxShow(this,"请输入正确的内容!谢谢!"); eCancel = true;
}
}
protected void btn_insert_Click(object sender, EventArgs e)
{
if (txt_fnameText == "" || txt_fpriorityText == "" || txt_furlText == "")
{
MessageBoxShow(this, "请填写完整链接信息!"); return;
}
try
{
zdxkModelfriendlinks link = new zdxkModelfriendlinks();
linkfname = txt_fnameText;
linkfurl = txt_furlText;
linkfpriority = ConvertToInt64(txt_fpriorityText);
if (linkfpriority <= 0)
{
MessageBoxShow(this, "优先级必须大于0,请填写正确的数据!");
return;
}
if (new zdxkBLLfriendlinks()Add(link) > 0)
{
txt_fnameText = txt_fpriorityText = txt_furlText = "";
MessageBoxShow(this, "添加成功!");
bind();
}
else
{
MessageBoxShow(this, "添加失败,请重试!");
}
}
catch
{
MessageBoxShow(this, "优先级必须大于0,请填写正确的数据!");
return;
}
}
protected void gv_friendlink_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
long Id = ConvertToInt64(gv_friendlinkDataKeys[eRowIndex]Value);
if (new zdxkBLLfriendlinks()Delete(Id))
{
MessageBoxShow(this, "删除成功!");
bind();
}
else
{
MessageBoxShow(this, "删除失败,请重试!");
}
}
string name=((TextBox)thisGridView1Rows[eRowIndex]Cells[0]Controls[0])TextToString();
这好像是获的修改的新数据吧!
string name=GridView1Rows[eRowIndex]Cells[0]TextToString();
这好像是显示在页面上的数据吧!
批量删除好解决,选中GridView右上角的编辑添加模板列,选中ItemTemplate在里面拉一个复选框控件然后就是判断复选框是否是选中状态如果是循环删除选中的数据列。修改的话就点编辑列在可用字段里有一个CommandField列点击他展开编辑,更新,取消这一行就点击添加至于编辑更新取消这个有点儿麻烦意识说不清,我就直接给你贴代码了 #region 编辑事件
protected void gvBooks_RowEditing(object sender, GridViewEditEventArgs e)
{
//设定选中行
gvBooksEditIndex = eNewEditIndex;
//重新绑定数据
HRDataBind();
//获取选中行的下拉框控件
DropDownList ddl = (DropDownList)gvBooksRows[eNewEditIndex]FindControl("ddlCate");
//查询绑定数据
ddlDataSource = cmGetAllCategories();
ddlDataTextField = "Name";
ddlDataValueField = "Id";
ddlDataBind();
//查询隐藏列
HiddenField hf = (HiddenField)gvBooksRows[eNewEditIndex]FindControl("hfCateId");
ddlSelectedValue = hfValue;
}
#endregion
#region 取消编辑
protected void gvBooks_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
//GV恢复正常状态
gvBooksEditIndex = -1;
//重新绑定数据
HRDataBind(); ;
}
#endregion
#region 更新
protected void gvBooks_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//获取图书Id
int id = ConvertToInt32(gvBooksDataKeys[eRowIndex]Value);
//图书名
string title = ((TextBox)gvBooksRows[eRowIndex]FindControl("txtTitle"))Text;
//作者
string author = ((TextBox)gvBooksRows[eRowIndex]FindControl("txtAuthor"))Text;
//类别id
DropDownList ddl = (DropDownList)gvBooksRows[eRowIndex]FindControl("ddlCate");
int cateId = ConvertToInt32(ddlSelectedValue);
//根据Id查询book
Books book = bmQueryBookById(id);
bookTitle = title;
bookAuthor = author;
bookCategories = new Categories() { Id = cateId };
//更新
bmUpdateBook(book);
//更新完成恢复正常状态
gvBooksEditIndex = -1;
HRDataBind();
}
#endregion
#region 删除
protected void gvBooks_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
//获取id
int id = ConvertToInt32(gvBooksDataKeys[eRowIndex]Value);
//删除
bmDeleteBook(id);
//重新绑定
HRDataBind();
}
#endregion
以gridview控件名称为gv来说,thisgvRows[0]Cells[0]Value,不能直接取出某列的全部值,因为表格控件是先按行后按列使用的。因此可以写一个循环(for或者foreach)遍历所有行gvRows,在当前行中获取某列的数据。如前面的代码。如果单元格中加了其他控件,还要转换类型。
以上就是关于我用gridview控件,想用他这个编辑功能,怎么获取这文本框的值啊,然后进行更新 *** 作,这个是直接全部的内容,包括:我用gridview控件,想用他这个编辑功能,怎么获取这文本框的值啊,然后进行更新 *** 作,这个是直接、GridView根据条件修改命令按钮的显示的文字、ASP.NET 中GridView控件怎么修改添加数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)