bowemc
asked on
Databinding Textbox & combo
Hi I have a c# dataset in a winform application usint .net 1.1. I have a combobox and a textbox on my form. My combo box is displaying the results of column 1 of the dataset.
I want ti so that as the selected index of the combo i change the respective entry in column 2 of the dataset is loaded into my text box (so it appears that the text box is bound)
Thanks
I want ti so that as the selected index of the combo i change the respective entry in column 2 of the dataset is loaded into my text box (so it appears that the text box is bound)
Thanks
ASKER
Hi - Thanks for the fast response. I'm using .net 1.1I can't see the combo's datatextfiled and datavaluevalue with telesense. Below is How I'm currently binding the combo. The way I have the textbox coded all I ever see is the column name rather than the desired respective description. THANKS
public frmChangeHeadder()
{
InitializeComponent();
dsHeadder = _cmd.PageHeadders();
cboHeadderName.DisplayMemb er = dsHeadder.Tables[0].Column s[1].Colum nName;
cboHeadderName.ValueMember = dsHeadder.Tables[0].Column s[1].Colum nName;
cboHeadderName.DataSource = dsHeadder.Tables[0];
}
private void cboHeadderName_SelectedInd exChanged( object sender, System.EventArgs e)
{
txtHeadderDescription.Text = dsHeadder.Tables[0].Column s[2]..ToSt ring();
}
public frmChangeHeadder()
{
InitializeComponent();
dsHeadder = _cmd.PageHeadders();
cboHeadderName.DisplayMemb
cboHeadderName.ValueMember
cboHeadderName.DataSource = dsHeadder.Tables[0];
}
private void cboHeadderName_SelectedInd
{
txtHeadderDescription.Text
}
DataTable FTable =
new DataTable();
System.Data.SqlClient.SqlD ataAdapter FAdp = new System.Data.SqlClient.SqlD ataAdapter
(AQuery,obj.Connection);
FAdp.Fill(FTable);
comboBox1.DataSource = FTable;
comboBox1.DisplayMember = "PRODUCTID";
comboBox1.ValueMember = "PRODUCTID";
textBox1.DataBindings.Add
("Text",FTable,"PRODUCTID" );
new DataTable();
System.Data.SqlClient.SqlD
(AQuery,obj.Connection);
FAdp.Fill(FTable);
comboBox1.DataSource = FTable;
comboBox1.DisplayMember = "PRODUCTID";
comboBox1.ValueMember = "PRODUCTID";
textBox1.DataBindings.Add
("Text",FTable,"PRODUCTID"
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Text field means DisplayMember and value means ValueMember
ASKER
pratima_mcs - thanks this seems to work
Only problem is later in my code I need to read the text value displayed in my combo. Whn I use cboHeadderName.SelectedVal ue.ToStrin g() i get back the value in column 2 - i need column 1. How can I do this without affecting what we have already set up? Thanks again
Only problem is later in my code I need to read the text value displayed in my combo. Whn I use cboHeadderName.SelectedVal
There you can use
cboHeadderName.SelectedTex t.ToString ()
OR
cboHeadderName.SelectedIte m.Text.ToS tring()
cboHeadderName.SelectedTex
OR
cboHeadderName.SelectedIte
ASKER
Firstly I have nooption for Text after cboHeadderName.SelectedIte m.
Next cboHeadderName.SelectedTex t.ToString (); returns "" , cboHeadderName.SelectedIte m.ToString (); returns System.Data.DataRowView and cboHeadderName.SelectedVal ue.ToStrin g(); as expected returns column2
Next cboHeadderName.SelectedTex
ASKER
This seems to have done the trick
string str_id_header = "";
System.Data.DataRowView ownerVal = (System.Data.DataRowView) cboHeadderName.SelectedIte m;
str_id_header = ownerVal.Row.ItemArray[1]. ToString() ;
This is a clikd windo. When I complete a database update ugin the data I have the child window dissaears / closes. Any ideas why?
string str_id_header = "";
System.Data.DataRowView ownerVal = (System.Data.DataRowView) cboHeadderName.SelectedIte
str_id_header = ownerVal.Row.ItemArray[1].
This is a clikd windo. When I complete a database update ugin the data I have the child window dissaears / closes. Any ideas why?
then on select inedx change you just need to get the selected value and put it into the textbox