three combos, same dataset

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • BrianDH

    three combos, same dataset

    Hi

    I have a form with multi-tabs, and on each tab I have a one combo that has
    the same values.
    I populate all 3 combo with the same one datacall/dataset
    My problem is: when I make a value selection change to one, it changes the
    other 2 combos on the other 2 tabs.

    Is there a way to make one datacall, but have three seperate acting controls?

    At the moment I have to call the same data call three time.

    //Code Example
    DataSet selectDataSet = DataCalls.Retri eveTypeOfFood() ;
    DataSet menuDataSet = DataCalls.Retri eveTypeOfFood() ;
    DataSet newDataSet = DataCalls.Retri eveTypeOfFood() ;

    //*************** *************** *******
    DataView dv = new DataView();
    DataRow dr;
    dr = selectDataSet.T ables[0].NewRow();
    dr["Code"] = " - Select Type - ";
    dr["CodeID"] = 0;
    selectDataSet.T ables[0].Rows.Add(dr);
    dv.Table = selectDataSet.T ables[0];
    dv.Sort = "Code ASC";
    SelectTypeCombo Box.DisplayMemb er = "Code";
    SelectTypeCombo Box.ValueMember = "CodeID";
    SelectTypeCombo Box.DataSource = dv;

    //*************** *************** ********
    DataView mdv = new DataView();
    DataRow mdr;
    mdr = menuDataSet.Tab les[0].NewRow();
    mdr["Code"] = " - Select Type - ";
    mdr["CodeID"] = 0;
    menuDataSet.Tab les[0].Rows.Add(mdr);
    mdv.Table = menuDataSet.Tab les[0];
    mdv.Sort = "Code ASC";
    MenuTypeComboBo x.DisplayMember = "Code";
    MenuTypeComboBo x.ValueMember = "CodeID";
    MenuTypeComboBo x.DataSource = mdv;

    //*************** *************** ********
    DataView ndv = new DataView();
    DataRow ndr;
    ndr = newDataSet.Tabl es[0].NewRow();
    ndr["Code"] = " - Select Type - ";
    ndr["CodeID"] = 0;
    newDataSet.Tabl es[0].Rows.Add(ndr);
    ndv.Table = newDataSet.Tabl es[0];
    ndv.Sort = "Code ASC";
    NewTypesComboBo x.DisplayMember = "Code";
    NewTypesComboBo x.ValueMember = "CodeID";
    NewTypesComboBo x.DataSource = ndv;

    Thanks
    Brian
  • Marina

    #2
    Re: three combos, same dataset

    Set each combo to have its own BindingContext.

    "BrianDH" <BrianDH@discus sions.microsoft .com> wrote in message
    news:BE69F70E-8049-4109-9531-662AD67A61FD@mi crosoft.com...[color=blue]
    > Hi
    >
    > I have a form with multi-tabs, and on each tab I have a one combo that has
    > the same values.
    > I populate all 3 combo with the same one datacall/dataset
    > My problem is: when I make a value selection change to one, it changes the
    > other 2 combos on the other 2 tabs.
    >
    > Is there a way to make one datacall, but have three seperate acting
    > controls?
    >
    > At the moment I have to call the same data call three time.
    >
    > //Code Example
    > DataSet selectDataSet = DataCalls.Retri eveTypeOfFood() ;
    > DataSet menuDataSet = DataCalls.Retri eveTypeOfFood() ;
    > DataSet newDataSet = DataCalls.Retri eveTypeOfFood() ;
    >
    > //*************** *************** *******
    > DataView dv = new DataView();
    > DataRow dr;
    > dr = selectDataSet.T ables[0].NewRow();
    > dr["Code"] = " - Select Type - ";
    > dr["CodeID"] = 0;
    > selectDataSet.T ables[0].Rows.Add(dr);
    > dv.Table = selectDataSet.T ables[0];
    > dv.Sort = "Code ASC";
    > SelectTypeCombo Box.DisplayMemb er = "Code";
    > SelectTypeCombo Box.ValueMember = "CodeID";
    > SelectTypeCombo Box.DataSource = dv;
    >
    > //*************** *************** ********
    > DataView mdv = new DataView();
    > DataRow mdr;
    > mdr = menuDataSet.Tab les[0].NewRow();
    > mdr["Code"] = " - Select Type - ";
    > mdr["CodeID"] = 0;
    > menuDataSet.Tab les[0].Rows.Add(mdr);
    > mdv.Table = menuDataSet.Tab les[0];
    > mdv.Sort = "Code ASC";
    > MenuTypeComboBo x.DisplayMember = "Code";
    > MenuTypeComboBo x.ValueMember = "CodeID";
    > MenuTypeComboBo x.DataSource = mdv;
    >
    > //*************** *************** ********
    > DataView ndv = new DataView();
    > DataRow ndr;
    > ndr = newDataSet.Tabl es[0].NewRow();
    > ndr["Code"] = " - Select Type - ";
    > ndr["CodeID"] = 0;
    > newDataSet.Tabl es[0].Rows.Add(ndr);
    > ndv.Table = newDataSet.Tabl es[0];
    > ndv.Sort = "Code ASC";
    > NewTypesComboBo x.DisplayMember = "Code";
    > NewTypesComboBo x.ValueMember = "CodeID";
    > NewTypesComboBo x.DataSource = ndv;
    >
    > Thanks
    > Brian[/color]


    Comment

    • Cor Ligthert [MVP]

      #3
      Re: three combos, same dataset

      Brian,

      I never saw it this way, however I don't know why this is not working, can
      you try it like this.

      DataView ndv = new DataView(newDat aSet.Tables[0]);[color=blue]
      > DataRow ndr;
      > ndr = newDataSet.Tabl es[0].NewRow();
      > ndr["Code"] = " - Select Type - ";
      > ndr["CodeID"] = 0;
      > newDataSet.Tabl es[0].Rows.Add(ndr);[/color]
      \\\ ndv.Table = newDataSet.Tabl es[0];[color=blue]
      > ndv.Sort = "Code ASC";
      > NewTypesComboBo x.DisplayMember = "Code";
      > NewTypesComboBo x.ValueMember = "CodeID";
      > NewTypesComboBo x.DataSource = ndv;
      >[/color]
      Be aware that you are probably adding 3 times a row to the same datatable.

      In addition probably it is better to ask this in the CSharp newsgroup, not
      that we are not able to help you, however a Csharp question does not look so
      well if there is a search done in this newsgroup.

      I hope this helps,

      Cor


      Comment

      • BrianDH

        #4
        RE: three combos, same dataset

        Thank you that worked!

        "BrianDH" wrote:
        [color=blue]
        > Hi
        >
        > I have a form with multi-tabs, and on each tab I have a one combo that has
        > the same values.
        > I populate all 3 combo with the same one datacall/dataset
        > My problem is: when I make a value selection change to one, it changes the
        > other 2 combos on the other 2 tabs.
        >
        > Is there a way to make one datacall, but have three seperate acting controls?
        >
        > At the moment I have to call the same data call three time.
        >
        > //Code Example
        > DataSet selectDataSet = DataCalls.Retri eveTypeOfFood() ;
        > DataSet menuDataSet = DataCalls.Retri eveTypeOfFood() ;
        > DataSet newDataSet = DataCalls.Retri eveTypeOfFood() ;
        >
        > //*************** *************** *******
        > DataView dv = new DataView();
        > DataRow dr;
        > dr = selectDataSet.T ables[0].NewRow();
        > dr["Code"] = " - Select Type - ";
        > dr["CodeID"] = 0;
        > selectDataSet.T ables[0].Rows.Add(dr);
        > dv.Table = selectDataSet.T ables[0];
        > dv.Sort = "Code ASC";
        > SelectTypeCombo Box.DisplayMemb er = "Code";
        > SelectTypeCombo Box.ValueMember = "CodeID";
        > SelectTypeCombo Box.DataSource = dv;
        >
        > //*************** *************** ********
        > DataView mdv = new DataView();
        > DataRow mdr;
        > mdr = menuDataSet.Tab les[0].NewRow();
        > mdr["Code"] = " - Select Type - ";
        > mdr["CodeID"] = 0;
        > menuDataSet.Tab les[0].Rows.Add(mdr);
        > mdv.Table = menuDataSet.Tab les[0];
        > mdv.Sort = "Code ASC";
        > MenuTypeComboBo x.DisplayMember = "Code";
        > MenuTypeComboBo x.ValueMember = "CodeID";
        > MenuTypeComboBo x.DataSource = mdv;
        >
        > //*************** *************** ********
        > DataView ndv = new DataView();
        > DataRow ndr;
        > ndr = newDataSet.Tabl es[0].NewRow();
        > ndr["Code"] = " - Select Type - ";
        > ndr["CodeID"] = 0;
        > newDataSet.Tabl es[0].Rows.Add(ndr);
        > ndv.Table = newDataSet.Tabl es[0];
        > ndv.Sort = "Code ASC";
        > NewTypesComboBo x.DisplayMember = "Code";
        > NewTypesComboBo x.ValueMember = "CodeID";
        > NewTypesComboBo x.DataSource = ndv;
        >
        > Thanks
        > Brian[/color]

        Comment

        Working...