Создание комбинированного списка с несколькими столбцами и поиск внутри него (C #) - PullRequest
0 голосов
/ 17 октября 2019

Я использовал следующий код для установки моего поля со списком, в котором перечислены несколько столбцов. Я хочу выполнить поиск, пока текст поля со списком изменяется. Теперь, когда я что-то набираю внутри поля со списком, он отображает отображаемый элемент поля со списком. . есть ли способ перечислить несколько столбцов вместо отображения элемента при поиске в комбинированном окне

private void cmb_draw_item(object sender, DrawItemEventArgs e)
        {
           try
            {
                e.DrawBackground();
                DataRowView drv = (DataRowView)Description.Items[e.Index];
                string id = drv["PRCODE"].ToString();
                string productname = drv["PRNAME"].ToString();
                string Alias = drv["ALIAS"].ToString();
                string stock = drv["STOCK"].ToString();
                Rectangle r1 = e.Bounds;
                r1.Width = r1.Width / 4;
                using (SolidBrush sb = new SolidBrush(Color.Black))
                {
                    e.Graphics.DrawString(id, e.Font, sb, r1);
                }
                // Using p As New Pen(Color.AliceBlue)
                // e.Graphics.DrawLine(p, r1.Right, 0, r1.Right, r1.Bottom)
                // End Using
                Rectangle r2 = e.Bounds;
                r2.X = e.Bounds.Width / 8;
                r2.Width = r2.Width / 2;
                using (SolidBrush sb = new SolidBrush(Color.Black))
                {
                    e.Graphics.DrawString(productname, e.Font, sb, r2);
                }
                // Using p As New Pen(Color.AliceBlue)
                // e.Graphics.DrawLine(p, r2.Right, 0, r2.Right, r2.Bottom)
                // End Using
                Rectangle r3 = e.Bounds;
                r3.X = r2.Right;
                //r3.X = e.Bounds.Width / 3;
                r3.Width = r3.Width / 4;
                using (SolidBrush sb = new SolidBrush(Color.Black))
                {
                    e.Graphics.DrawString(Alias, e.Font, sb, r3);
                }
                // Using p As New Pen(Color.AliceBlue)
                // e.Graphics.DrawLine(p, r3.Right, 0, r3.Right, r3.Bottom)
                // End Using
                Rectangle r4 = e.Bounds;
                //r4.X = (e.Bounds.Width) / 2;
                r4.X = r3.Right;
                r4.Width = r4.Width / 4;
                using (SolidBrush sb = new SolidBrush(Color.Black))
                {
                    e.Graphics.DrawString(stock, e.Font, sb, r4);
                }
            }
            catch { }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...