首页 > 解决方案 > How to take values from datalist dropdown and display it in grid view in asp.net?

问题描述

I'm setting up a new page, I have created datalist dropdown and want to display it in grid view on clicking the button,

I have already tried taking values from a textbox and displayed in grid view using Datatable, but now I want to display the value from datalist in grid view,how can i achieve that?

<form id="form1" runat="server">
    <center>
    <div>
    </div>
     Name :<asp:TextBox ID="TextName" runat="server"></asp:TextBox>
     Email :<asp:TextBox ID="TextEmail" runat="server"></asp:TextBox>
     Salary :<asp:TextBox ID="TextSalary" runat="server"></asp:TextBox>



       <input list="browsers" name="browser" id="ff">
          <datalist id="browsers">
            <option value="Internet Explorer">
            <option value="Firefox">
            <option value="Chrome">
            <option value="Opera">
            <option value="Safari">
          </datalist>

    <hr />

    <asp:button runat="server" text="Add values to grid view" 
     OnClick="Unnamed1_Click" />


    <hr />

    <asp:GridView class="table table-striped" ID="GridView1" 
    runat="server"></asp:GridView>


    </center>
 </form>


ASPCODE:

namespace addtograsp
{
    public partial class gridview : System.Web.UI.Page
    {
    DataTable dt = new DataTable();
    protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        {
            if(ViewState["Records"] == null)
            { 
                dt.Columns.Add("Name");
                dt.Columns.Add("Email");
                dt.Columns.Add("Salary");
                dt.Columns.Add("Dropdown");

                ViewState["Records"] = dt;
            }
        }

    }


    protected void Unnamed1_Click(object sender, EventArgs e)
    {
        dt = (DataTable) ViewState["Records"];

        dt.Rows.Add(TextName.Text, TextEmail.Text, TextSalary.Text);

        GridView1.DataSource = dt;
        GridView1.DataBind();
    }
    }
    }

标签: htmlasp.net

解决方案


这只是一个示例代码。根据您的数据进行更改。未测试

数据表 MyTable = new DataTable();

MyTable.Columns.Add("Id", typeof(int));
MyTable.Columns.Add("Name", typeof(string));

DataRow row = MyTable.NewRow();
row["Id"] =  dataList.SelectedItem.Value
row["Name"] = dataList.SelectedItem.Value 
MyTable.Rows.Add(row);


GidView1.DataSource=MyTable;
GidView1.DataBind();

在网格中

<asp:GridView class="table table-striped" ID="GridView1" 
runat="server">

 <Columns>           
        <asp:BoundField DataField="Name" HeaderText="Browser Name" />
    </Columns>
</asp:GridView>

推荐阅读