2007年3月9日

GridView模版列中根据数据动态添加RadioButtonList项

aspx
                    <ItemTemplate>
                        
<asp:HiddenField ID="hditem" runat="server" Value='<%# Eval("item") %>' />
                        
<asp:RadioButtonList ID="rblidea" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow">
                            
<asp:ListItem Value="1">同意</asp:ListItem>
                            
<asp:ListItem Value="0">不同意</asp:ListItem>
                        
</asp:RadioButtonList>
                    
</ItemTemplate>

cs:
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        
{
            
int strid = e.Row.RowIndex;
            RadioButtonList rbliea 
= (RadioButtonList)e.Row.FindControl("rblidea");

            Button btnSubVise 
= (Button)e.Row.FindControl("btnSubVise");
            HtmlInputButton hReSubVise 
= (HtmlInputButton)e.Row.FindControl("ReSubVise");

            
if (rbliea != null)
            
{
                
if (((HiddenField)e.Row.FindControl("hditem")).Value == "3")
                
{
                    //rbliea.Items.Insert(
2"需客户核准");
                        rbliea.Items.Insert(2, new ListItem("需客户核准", "2"));
                    btnSubVise.Visible 
= false;
                    hReSubVise.Visible 
= false;
                }

            }


        }

posted @ 2007-03-09 15:44 ★金★ 阅读(1193) 评论(0) 编辑

GridView中的RowCommand事件

也是在这次项目开发遇到的问题,本来放在一起的,后来发现太长了,所有就分开来写.
不过都是一些非常简单的问题,怕忘记,在这里作一个记录.

GridView模版列中Button取值问题:
        <asp:GridView ID="GridView1" runat="server" DataKeyNames="id" AutoGenerateColumns="False" ShowHeader="False" Width="100%" OnRowDataBound="GridView1_RowDataBound" OnRowCommand="GridView1_RowCommand">
            
<Columns>
                
<asp:BoundField DataField="dept" >
                    
<ItemStyle Height="20px" Width="10%" HorizontalAlign="Center" />
                
</asp:BoundField>
                
<asp:BoundField DataField="deptnm" >
                    
<ItemStyle Width="15%" />
                
</asp:BoundField>
                
<asp:TemplateField>
                    
<ItemTemplate>
                        意见:
<asp:TextBox CssClass="inputLine" ID="txtNotion" runat="server" Width="300px"></asp:TextBox>
                    
</ItemTemplate>
                    
<ItemStyle Width="40%" />
                
</asp:TemplateField>
                
<asp:TemplateField>
                    
<ItemTemplate>
                        
<asp:HiddenField ID="hditem" runat="server" Value='<%# Eval("item") %>' />
                        
<asp:RadioButtonList ID="rblidea" runat="server" RepeatDirection="Horizontal" RepeatLayout="Flow">
                            
<asp:ListItem Value="1">同意</asp:ListItem>
                            
<asp:ListItem Value="0">不同意</asp:ListItem>
                        
</asp:RadioButtonList>
                    
</ItemTemplate>
                    
<ItemStyle HorizontalAlign="Center" Width="20%" />
                
</asp:TemplateField>
                
<asp:TemplateField>
                    
<ItemTemplate>
                        
<asp:Button ID="btnSubVise" CommandName="vise" CommandArgument='<%# Eval("id") %>' runat="server" Text="提 交" CssClass="Sub_button2" />&nbsp;
                        
<input id="ReSubVise" type="reset" value="重 置" class="Sub_button2" runat="server" />
                    
</ItemTemplate>
                    
<ItemStyle HorizontalAlign="Center" Width="15%" />
                
</asp:TemplateField>
            
</Columns>
        
</asp:GridView>

点击"提交"这个按钮,想取得"意见"这个TextBox的值.
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        
{
            GridViewRow row 
= ((Control)e.CommandSource).BindingContainer as GridViewRow;
            
int index = row.RowIndex;

            
string strid = e.CommandArgument.ToString();

            
if (e.CommandName == "vise")
            
{
                
string strid = GridView1.DataKeys[index].Value.ToString();
                TextBox txtNotion 
= (TextBox)row.FindControl("txtNotion");

                Response.Write(txtNotion.Text.ToString());
            }

        }
e.CommandArgument是取CommandArgument='<%# Eval("id") %>'的值.index是取GridView中DataKeyNames="id"的值.

posted @ 2007-03-09 15:40 ★金★ 阅读(811) 评论(2) 编辑