Need to split records in dropdownlist

i want to split records in dropdown list,

O/p is :
fid                   resname(dropdown list )
1                     RestaurantA,RestaurantB,RestaurantC,RestaurantD(it displays like ths only having all records in zero index , but dropdown shuould be populated by varying its index values from zero to three if it has 4 records )
3                     RestaurantD
4                     RestaurantA,RestaurantB(similarly for this)
5                     RestaurantB
9                     RestaurantA, RestaurantC(simalarly)
11                   RestaurantD



I think , am cleared with this one .

Only thing is, i need a split function , so that it populate the record one by one in dropdown list having diff index values .


Kindly suggest me ur valuable idea,...

Please if i made any mistake in codin , u can advice me wat to do ......
<div><asp:GridView ID="GridView1" runat="server" style="left: 157px; position: relative; top: 141px" OnRowDataBound="GridView1_RowDataBound" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="fid" HeaderText="fid" />
                <asp:BoundField HeaderText="Fname" />
                <asp:TemplateField HeaderText="rname">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("resname") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:DropDownList ID="DropDownList1" runat="server" Style="position: relative" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField HeaderText="price" />
            </Columns>
        </asp:GridView>
          </div>
 
 
SErver side code( i want split function)
 protected void Page_Load(object sender, EventArgs e)
    {
        GridView1.DataSource = resnameddl1().Tables[0];
        GridView1.DataBind();
 
    }
    public DataSet resnameddl1()
    {
        string constr = ConfigurationManager.AppSettings["constring"];
        SqlConnection myconnection = new SqlConnection(constr);
        DataSet ds = new DataSet();
 
        string cmd = "select distinct fid,dbo.resname(fid) as resname  from maintable";
        SqlDataAdapter da = new SqlDataAdapter(cmd, myconnection);
        da.Fill(ds, "maintable");
        return ds;
    }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
 
        DataTable mytable = new DataTable();
        DataColumn restid = new DataColumn("rid");
        DataColumn restname1 = new DataColumn("resname1");
        mytable.Columns.Add(restid);
        mytable.Columns.Add(restname1);
        DataSet ds = new DataSet();
        ds = resnameddl1();
        int fid = 0;
        string expression = string.Empty;
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            fid = Int32.Parse(e.Row.Cells[0].Text);
            expression = "fid = " + fid;
           DropDownList ddl = (DropDownList)e.Row.FindControl("dropdownlist1");
            DataRow[] rows = ds.Tables[0].Select(expression);
            foreach (DataRow row in rows)
            {
                DataRow newrow = mytable.NewRow();
                string temprest = "resname";
                char[] sep = { ',' };
                string[] values = temprest.Split(sep);
                newrow["rid"] = row["fid"];
                newrow["resname1"] = row["resname"];
                mytable.Rows.Add(newrow);
 
            }
 
            ddl.DataSource = mytable;
             ddl.DataTextField = "resname1";
            ddl.DataValueField = "rid";
            ddl.DataBind();
        }
    }

Open in new window

LVL 18
Rajar AhmedConsultantAsked:
Who is Participating?
 
aliwajdanConnect With a Mentor Commented:
protected void Page_Load(object sender, EventArgs e)
    {
        GridView1.DataSource = resnameddl1().Tables[0];
        GridView1.DataBind();
 
    }
there is mistake in your  Page_Load function

use
protected void Page_Load(object sender, EventArgs e)
    {
     if(!Page.IsPostBakc)
         {
        GridView1.DataSource = resnameddl1().Tables[0];
        GridView1.DataBind();
       }
    }

you'll not need any split function  or any thing else when you add items in the dropdown list it do these things autometically like making automatic index columns
 
0
 
Rajar AhmedConsultantAuthor Commented:
hi , it shows with the same sort of displaying in dropdown with the use of postback also as u mentioned..
plz kindly suggest me any othr views ..

Thanks ..
0
 
Rajar AhmedConsultantAuthor Commented:

this function i used to retrieve values for dropdown list  which is resname,



 
Create FUNCTION dbo.resname(@fid int)
 
RETURNS VARCHAR(8000)
 
AS
 
BEGIN
 
DECLARE @keyword_Name VARCHAR(4000)
 
SET @keyword_Name = ''
SELECT @keyword_Name =
 
(CASE @keyword_Name
 
WHEN '' THEN resname
 
ELSE @keyword_Name + ',' +resname
 
END)
 
from MainTable
 
inner join Resttable rest
 
on MainTable.rid= rest.rid
 
where fid=@fid
 
RETURN @keyword_Name
 
END
 
REsult is
fid  Resname(this field am storing in dropdown list)
56   Restaurant B,Restaurant C,Restaurant D	
63   Restaurant C,Restaurant A	

Open in new window

0
All Courses

From novice to tech pro — start learning today.