首页 新闻 搜索 专区 学院

gridview rowcommand下通过绑定[列名]取值

0
悬赏园豆:5 [已解决问题] 解决于 2008-03-25 13:13
<P>&nbsp;&lt;asp:GridView ID="gvOrderSetWithEscrow" runat="server"&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Columns&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:boundfield DataField="UserName" HeaderText="用户名" ReadOnly="True"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:boundfield&gt;<BR>&nbsp; &lt;asp:templateField HeaderText="操作" &gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ItemTemplate&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button ID="btnPayAmount" runat="server" Text="确定" CommandName="Ok" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/ItemTemplate&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:TemplateField&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Columns&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/asp:GridView&gt;</P> <P>---------------------------<BR>&nbsp; protected void gvOrderSetWithEscrow_RowCommand(object sender, GridViewCommandEventArgs e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (e.CommandName == "Ok")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp; Control cmdControl = e.CommandSource as Control;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GridViewRow row = cmdControl.NamingContainer as GridViewRow;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int rowindex = row.RowIndex;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (row.RowType == DataControlRowType.DataRow)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;<FONT color=#ff0000>&nbsp;string username = gvOrderSetWithEscrow.Rows[rowindex].Cells[0].Text.ToString();</FONT><FONT color=#000000>//</FONT>这里,我不想通过 <FONT color=#ff0000>0 </FONT>来取值,而是通过绑定的列名[username]来取值,应该怎么取
问题补充: 如果存在多列的话,我还要数清楚1,2,3,4等等,那很麻烦,我想通过列名来获取值,这样会更好一点,无论html中怎么变化,.cs中就不用更改了
伊牛娃的主页 伊牛娃 | 菜鸟二级 | 园豆:207
提问于:2008-03-24 10:36
< >
分享
最佳答案
0
我一般使用Repeater加上一个按钮,再添加它的 CommandArgument 来完成这种工作. Repeater无论是性能还是灵活性上比GW都要好些.~~~
沙加 | 老鸟四级 |园豆:3680 | 2008-03-24 11:43
其他回答(1)
0
GW里也可以指定CommandArgument 来完成这个工作,或者用datakeysname与CommandArgument 结合起来都可以完成这个工作
AndyFish | 园豆:1575 (小虾三级) | 2008-03-24 15:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册