C# GridView 控件绑定下拉列表框及给下拉列表框设定默认值

aspx文件内容

 <form id="form1" runat="server" onsubmit="">
        <div style="margin: 100px auto; width: 80%; text-align: left">
           
            <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
                OnRowDataBound="GridView1_RowDataBound" OnRowEditing="GridView1_RowUpdating"
                OnRowUpdated="GridView1_RowUpdated" AutoGenerateColumns="False" DataKeyNames="pkID"
                DataSourceID="SqlDataSource1" PageSize="200" Width="100%" BackColor="White" BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1" GridLines="None">
                <Columns>
                    <asp:BoundField DataField="pkID" HeaderText="pkID" InsertVisible="False" ReadOnly="True"
                        SortExpression="pkID" />
                        <asp:BoundField DataField="infoType" HeaderText="infoType" InsertVisible="False" ReadOnly="True"
                        SortExpression="infoType" />
                   <asp:BoundField DataField="title" HeaderText="标题" SortExpression="title" /><asp:BoundField DataField="webType" HeaderText="网站类型" SortExpression="webType" /><asp:BoundField DataField="remarkType" HeaderText="正负面评价" SortExpression="remarkType" /><asp:BoundField DataField="score" HeaderText="正负面评分" SortExpression="score" /><asp:BoundField DataField="pubTime" HeaderText="日期开始" SortExpression="pubTime" /><asp:BoundField DataField="endTime" HeaderText="日期结束" SortExpression="endTime" /><asp:BoundField DataField="replycount" HeaderText="相关文章数" SortExpression="replycount" />
                    
                    <asp:BoundField DataField="link" HeaderText="链接" SortExpression="link" />
                     <asp:BoundField DataField="editor" HeaderText="编辑者" SortExpression="editor" />
                    <asp:TemplateField HeaderText="分类"  >
                        <ItemTemplate>
                            <asp:DropDownList ID="ddlInfoType" runat="server" DataSourceID="SqlDataSource1" DataTextField="t_name"
                                DataValueField="pkid"   >
                            </asp:DropDownList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
                                SelectCommand="SELECT [t_name], [pkid] FROM [t_info_type]"></asp:SqlDataSource>
                        </ItemTemplate>
                    </asp:TemplateField>
                    
                </Columns>
                <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
                <RowStyle BackColor="#DEDFDE" ForeColor="Black" />
                <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
                <SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
                
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
                DeleteCommand="" InsertCommand="" SelectCommand="" UpdateCommand="">
                <DeleteParameters>
                    <asp:Parameter Name="pkID" Type="Int32" />
                </DeleteParameters>               
            </asp:SqlDataSource>
        </div>
    </form>

.cs文件代码

//红色字体部分用来设定下拉列表框默认值

   protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            DataRowView drv = e.Row.DataItem as DataRowView;
            int rid = Convert.ToInt32(((DataRowView)e.Row.DataItem)["infoType"]);
            int Pkid = Convert.ToInt32(((DataRowView)e.Row.DataItem)["pkID"]);
            string strLink = Convert.ToString(((DataRowView)e.Row.DataItem)["link"]);
            ((DataRowView)e.Row.DataItem).Row["title"] = "dddddd";
            e.Row.Cells[2].Text =" <a href='http://blog.my400800.cn' target=\"_blank\">"+ e.Row.Cells[2].Text+"</a>";

            DropDownList dd = (DropDownList)e.Row.FindControl("ddlInfoType");
            // DataTable table = dd.DataSource as DataTable;
            dd.SelectedValue = rid.ToString();
            dd.Attributes.Add("onchange", "ajaxUpdateInfoType('" + Pkid + "',this);");
        }
    }

posted @ 2009-08-19 16:38  ljlxyf  阅读(999)  评论(0编辑  收藏  举报