猿问

关于GridView的RowDataBound操作问题

//我想拿出对某一个字段值,处理后再显示出来.(功能已实现,有一个地方处理的不优雅)
protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
   {
               if (e.Row.RowType == DataControlRowType.DataRow)
       {
           string id = (string)DataBinder.GetPropertyValue(e.Row.DataItem, "CourseId");
           Literal lt = new Literal();
           lt.Text = sb.ToString();
//在这里,我用e.Row.Cells[1]这样有一个问题,就是前面gridview如再列有增删,这里代码就得改动.
//有没有一种方式,可以通过绑定的字段植来判断所在的单元格的?或是其它方法.
           e.Row.Cells[1].Controls.Add(lt);
       }
   }

炎炎设计
浏览 677回答 2
2回答

繁星淼淼

看的你代码的意思是想增加一个控件来保存每一行的&nbsp;CourseId,&nbsp;这种操作可以在标记页面来做啊。每次都动态添加、效率不高,像下面一样:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:GridView ID="GridView1" runat="server">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <Columns>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TemplateField>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <ItemTemplate>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:Label ID="lblID" runat="server" Text='<%# Eval("CourseId")%>' />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <asp:TextBox ID="txt" runat="server" Text='<%# Eval("CourseName")%>' />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </ItemTemplate>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </asp:TemplateField>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </Columns>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </asp:GridView>CS 页面:只要查找这个 lblID 控件、获取值就可以了。Label lbl=e.FindControl("lblID") as Label;&nbsp;这样也省下了手动 设置值的问题。&nbsp;&nbsp;

30秒到达战场

多选框列?不是很明白,楼上这个解决方案挺好的啊。你甚至不用绑定到某个字段值,而是绑定到某个方法<ItemTemplate><input type=checkbox value='<%#GetCheckValue(Eval("CourseId"))%>'></ItemTemplate>
随时随地看视频慕课网APP
我要回答