亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的組合框如何顯示名稱列表,但在選擇名稱時使用與該名稱關聯的唯一 ID?

我的組合框如何顯示名稱列表,但在選擇名稱時使用與該名稱關聯的唯一 ID?

C#
茅侃侃 2022-12-04 13:50:57
我的應用程序使用一個組合框,其中填充了從 API 返回的列表名稱。API 還返回與每個名稱關聯的 ID。我怎樣才能讓組合框顯示名稱,但是當用戶選擇一個名稱時,與該名稱關聯的 ID 存儲在一個變量中,或者用于執行某些操作?我可以讓組合框填寫名稱,但名稱沒有任何實際用途,僅用于顯示目的。我不知道如何讓組合框顯示名稱,而是使用 ID 作為其值。這是 API 返回的 json。[{    "BookId": "13a7dc2b-80da-4407-bd4d-806d7f4adc3b",    "BookName": "Reckon API",    "Bookstatus": 3,    "Country": "AU"},{    "BookId": "32c03594-1ecb-4f97-8453-5b28a03d26d9",    "BookName": "Payroll Book",    "Bookstatus": 3,    "Country": "AU"},{    "BookId": "51d16696-b98a-4b3b-ac67-f36559cff70b",    "BookName": "Accounting Book",    "Bookstatus": 3,    "Country": "AU"}]這是我用來用名稱填充組合框的代碼:using (HttpClient httpClient = new HttpClient())        {            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);            var response = httpClient.GetAsync("https://api.reckon.com/R1/cashbooks").Result;            string responseText = response.Content.ReadAsStringAsync().Result;            JArray parsedArray = JArray.Parse(responseText);            foreach (JObject parsedObject in parsedArray.Children<JObject>())            {                foreach (var parsedProperty in parsedObject.Properties())                {                    if (parsedProperty.Name == "BookName")                    {                        comboBox2.Items.Add(parsedProperty.Value);                    }                }            }        }我有一個 MYSQL 數據庫,我存儲了我的名稱和 ID 列表,我認為我可以使用 databsae 作為數據源,顯示成員作為名稱和值成員作為 id,但是當我運行應用程序時,組合框沒有' t populate 但我不知道為什么。我如何完成這項任務對我來說真的無關緊要,我只需要找到一種方法。
查看完整描述

2 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

你可以試試這個:


int selectedId;

bool res = int.TryParse(comboBox.SelectedValue.ToString(), out selectedId);


if(res)

// do something here


查看完整回答
反對 回復 2022-12-04
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

只需使用


comboBox2.SelectedValue

編輯:對于您的 API,您可以像這樣編輯代碼:


    using (HttpClient httpClient = new HttpClient())

    {

        httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

        var response = httpClient.GetAsync("https://api.reckon.com/R1/cashbooks").Result;

        string responseText = response.Content.ReadAsStringAsync().Result;`enter code here`

        JArray parsedArray = JArray.Parse(responseText);

        DataTable dtSource = new DataTable();

dtSource.Columns.AddRange(new DataColumn[]{new DataColumn("BookID"),new DataColumn("BookName")});


        foreach (JObject parsedObject in parsedArray.Children<JObject>())

        {

string BookID,BookName;


            foreach (var parsedProperty in parsedObject.Properties())

            {

if (parsedProperty.Name == "BookId")

                {

BookID= parsedProperty.Value;

                }

else if (parsedProperty.Name == "BookName")

                {

BookName= parsedProperty.Value;


                }

            }

dtSource.Rows.Add(BookID,BookName);

        }

    }

comboBox2.DataSource = dtSource;


comboBox2.DisplayMember = "BookName";


comboBox2.ValueMember = "BookID";


查看完整回答
反對 回復 2022-12-04
  • 2 回答
  • 0 關注
  • 223 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號