Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

I got “System.Collections.Generic.List” instead of data

$
0
0

I tried to make a autoComplete textbox like google Search with C# in a WPF application, basically what I want to do is have a autocomplete textbox which is bound to a sql database table. the table has 2 fields(Barcode and Name),my code as below:

In XMAL :

---------

 

<Grid>       <Grid.RowDefinitions>           <RowDefinition Height="37*" />           <RowDefinition Height="88*" />       </Grid.RowDefinitions>        <TextBlock
Text="Type Your Search :" HorizontalAlignment="Left"                    VerticalAlignment="Bottom"
Width="112" Height="15.96" Margin="31,0,0,4"
/>                <TextBox
HorizontalAlignment="Right" VerticalAlignment="Bottom"                 
Height="25" Width="325" Margin="0,0,10,0"
x:Name="txtCAuto" TextWrapping="NoWrap" />                <ListBox
x:Name="lbSuggestion"
SelectionChanged="lbSuggestion_SelectionChanged"           
Background="LightYellow" Grid.Row="1"
Visibility="Collapsed"                 
HorizontalAlignment="Right" VerticalAlignment="Top"
Width="325" Margin="0,0,10,0"/>    </Grid>



Code Behind:

------------





       
List<string> nameList;       
List<Product> prodList;        public
List<string> SelProd4Sale(string str )        {            string
constr = "Data Source=.;Initial Catalog=AgamistaStore;User
ID=emad2012;Password=emad_2012";           
SqlConnection SqlCon = new SqlConnection(constr);            SqlCommand
SqlCmdProds = new SqlCommand();           
SqlCmdProds.Connection = SqlCon;           
SqlCmdProds.CommandType = CommandType.Text;           
SqlCmdProds.CommandText = "SELECT
dbo.ProductsTbl.ProductID,ProductsTbl.ProductBarcode," +                "dbo.ProductsTbl.ProductName, dbo.ProductsTbl.SalePrice FROM dbo.ProductsTbl";           
SqlCon.Open();           
SqlDataAdapter dapProds = new SqlDataAdapter();           
dapProds.SelectCommand = SqlCmdProds;            DataSet
dsProds = new DataSet();           
dapProds.Fill(dsProds);            SqlCon.Close();            prodList =
new List<Product>();            for (int i
= 0; i < dsProds.Tables[0].Rows.Count; i++)            {               
prodList.Add(new Product                               
(dsProds.Tables[0].Rows[i]["ProductBarcode"].ToString(),                               
dsProds.Tables[0].Rows[i]["ProductName"].ToString());            }            dsProds =
null;            nameList =
new List<string>()             {              
prodList.ToString()            };                        return nameList;        }        public
Window2()        {           
InitializeComponent();           
SelProd4Sale(txtCAuto.Text);           
txtCAuto.TextChanged += new
TextChangedEventHandler(txtAuto_TextChanged);        }        #region
TextBox-TextChanged-txtAuto        private void
txtAuto_TextChanged(object sender, TextChangedEventArgs e)        {            string
typedString = txtCAuto.Text.ToUpper();           
List<string> autoList = new List<string>();            autoList.Clear();            foreach
(string item in nameList)            {                if
(!string.IsNullOrEmpty(txtCAuto.Text))                {                    if
(item.StartsWith(typedString))                    {                        autoList.Add(item);                    }                }            }            if
(autoList.Count > 0)            {               
lbSuggestion.ItemsSource = autoList;               
lbSuggestion.Visibility = Visibility.Visible;            }            else if
(txtCAuto.Text.Equals(""))            {               
lbSuggestion.Visibility = Visibility.Collapsed;               
lbSuggestion.ItemsSource = null;            }            else            {               
lbSuggestion.Visibility = Visibility.Collapsed;               
lbSuggestion.ItemsSource = null;            }        }        #endregion        #region
ListBox-SelectionChanged-lbSuggestion        private void
lbSuggestion_SelectionChanged(object sender, SelectionChangedEventArgs e)        {            if
(lbSuggestion.ItemsSource != null)            {               
lbSuggestion.Visibility = Visibility.Collapsed;               
txtCAuto.TextChanged -= new
TextChangedEventHandler(txtAuto_TextChanged);                if (lbSuggestion.SelectedIndex
!= -1)                {                   
txtCAuto.Text = lbSuggestion.SelectedItem.ToString();                }               
txtCAuto.TextChanged += new
TextChangedEventHandler(txtAuto_TextChanged);            }        }        #endregion    }    class Product    {        private string
_ProductBarcode = "";        private string
_ProductName = "";        public
Product(string prodName,string prodBarcode)        {           
this._ProductBarcode = prodBarcode;           
this._ProductName = prodName;        }        public string
ProductBarcode        {            get {
return _ProductBarcode; }            set {
_ProductBarcode = value; }        }        public string
ProductName        {            get {
return _ProductName; }            set {
_ProductName = value; }        }    }

When I run this I got "System.Collections.Generic.List" as result instead of data.

Can somebody help me please & tell me what 's wrong?

Thanks.


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>