Posted 5 November 2017, 8:20 am EST
I am using C1.Win.C1TrueDBGrid.PresentationEnum.SortedComboBox
My requirement is Country combobox, State combobox, Count
when grid loading State values need to be loaded based on the country name. but state combobox holding all the country list values. Here is the code i am using
gdDetails.Splits[0].DisplayColumns[“COUNTRY_NAME”].Width = Convert.ToInt32(gdDetails.Width * 0.20);
gdDetails.Columns[“COUNTRY_NAME”].Caption = “Country”;
gdDetails.Columns["COUNTRY_NAME"].ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.SortedComboBox;
gdDetails.Columns["COUNTRY_NAME"].ValueItems.Translate = true;
gdDetails.Splits[0].DisplayColumns["COUNTRY_NAME"].AutoComplete = true;
gdDetails.Splits[0].DisplayColumns["COUNTRY_NAME"].AutoDropDown = true;
gdDetails.Splits[0].DisplayColumns["[state]"].Width = Convert.ToInt32(gdDetails.Width * 0.20);
gdDetails.Columns["[state]"].Caption = "State (optional)";
gdDetails.Columns["[state]"].ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.SortedComboBox;
gdDetails.Columns["[state]"].ValueItems.Translate = true;
gdDetails.Splits[0].DisplayColumns["[state]"].AutoComplete = true;
gdDetails.Splits[0].DisplayColumns["[state]"].AutoDropDown = true;
C1.Win.C1TrueDBGrid.ValueItem Cvi = null;
PPC.OCMS.DAL.BO_STATE objCountry_ = new PPC.OCMS.DAL.BO_STATE();
//DataTable dtState = objState.Select_State_By_Organisation(0);
DataTable dtCountry = objCountry_.Select_ALLCountry();
objCountry_ = null;
for (int CountryCount = 0; CountryCount < dtCountry.Rows.Count; CountryCount++)
{
Cvi = new C1.Win.C1TrueDBGrid.ValueItem();
Cvi.Value = dtCountry.Rows[CountryCount][“ID_Country”].ToString();
Cvi.DisplayValue = dtCountry.Rows[CountryCount][“Country_NAME”].ToString();
gdDetails.Columns[“COUNTRY_NAME”].ValueItems.Values.Add(Cvi);
Cvi = null;
}
dtCountry = null;
DataTable StateFillDt= null;
int Country_Id = -1;
string Country_Name = "";
StateFillDt = (DataTable)gdDetails.DataSource;
foreach (DataRow row in StateFillDt.Rows)
{
Country_Id = Convert.ToInt32(row["ID_COUNTRY"].ToString());
Country_Name = row["COUNTRY_NAME"].ToString();
C1.Win.C1TrueDBGrid.ValueItem vi = null;
PPC.OCMS.DAL.BO_STATE objState_ = new PPC.OCMS.DAL.BO_STATE();
//DataTable dtState = objState.Select_State_By_Organisation(0);
DataTable dtState = objState_.Select_State_By_Country_Suburb(Country_Id, Country_Name);
objState_ = null;
if (dtState != null)
{
for (int stateCount = 0; stateCount < dtState.Rows.Count; stateCount++)
{
vi = new C1.Win.C1TrueDBGrid.ValueItem();
vi.Value = dtState.Rows[stateCount]["ID_STATE"].ToString();
vi.DisplayValue = dtState.Rows[stateCount]["STATE_NAME"].ToString();
//gdDetails.Columns["STATE"].ValueItems.Values.Add(vi);
gdDetails.Columns["[state]"].ValueItems.Values.Add(vi);
vi = null;
}
dtState = null;
}
}