Repeaterd的使用,獲取選中行的id,ItemDataBound和ItemCommand事件的使用

<table class="datagrid1" id="sample_1">
                            <tr>
                                <th style="width: 20%">選擇</th>
                                <th style="width: 20%; text-align: left">姓名</th>
                                <th style="width: 20%">所在部門</th>
                                <th style="width: 20%">職位</th>
                                <th style="width: 20%">聯繫電話</th>
                            </tr>
                            <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound" OnItemCommand="Repeater1_ItemCommand">
                                <ItemTemplate>
                                    <tr>
                                        <td>
                                            <asp:LinkButton ID="LinkButton1" runat="server" CommandName="select" ForeColor="Green" CommandArgument='<%# Eval("id")%>'>選擇</asp:LinkButton>
                                        </td>
                                        <td style="text-align: left">
                                            <asp:Label ID="Label1" runat="server" Text='<%#Eval("name") %>' class="text_slice"></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="Label2" runat="server" Text='<%#Eval("deptid") %>'></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="Label3" runat="server" Text='<%#Eval("Positionsid") %>'></asp:Label>
                                        </td>
                                        <td style="text-align: center">
                                            <asp:Label ID="Label4" runat="server" Text='<%#Eval("phone") %>'></asp:Label>

                                            <input type="hidden" id="hidden1" runat="server" value='<%#Eval("id") %>' class="text_slice" />
                                        </td>
                                    </tr>
                                </ItemTemplate>
                            </asp:Repeater>
                            <tr style="text-align: left">
                                <td>選擇的人員:<asp:Label ID="lblshow" runat="server" Style="color: #f00; padding: 3px"></asp:Label>
                                    <asp:Label ID="lblshow2" runat="server" Style="color: #f00; padding: 3px; display: none" Visible="false"></asp:Label>
                                    &nbsp;</td>
                            </tr>
                        </table>

後臺:

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)//事件被數據綁定後激發
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Label Label2 = (Label)e.Item.FindControl("Label2");//部門
                Label2.Text = UtilityFunctions.getBranchname(Label2.Text);

                Label Label3 = (Label)e.Item.FindControl("Label3");//職位
                Label3.Text = UtilityFunctions.getPositionsname(Label3.Text);

            }
        }

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)//生成事件時激發
        {            
                if (e.CommandName == "select")//if事件select激發
                {
                    Label lblshow = e.Item.FindControl("lblshow") as Label;
                    Label Label1 = e.Item.FindControl("Label1") as Label;

                    string id = Convert.ToString(e.CommandArgument.ToString());//獲取所選中行的id
                    this.ViewState["WTZid"] = id;
                    this.ViewState["wtzName"] = Label1.Text;
                }
                BindData();
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章