gridvidewでdevexpresslookupedit選択テキストを設定する方法

アリフ・ユルマズ

2つの列を持つグリッドがあり、最初の列にはlookupeditがあります。グリッドとlookupeditsを埋めることはできますが、データベースに従って選択したテキストを設定する方法がわからないという問題がありますか?

これは私のグリッドです

これがグリッドとlookupeditを埋める方法です

private void fill_budget_settings(){
        fill_tanim_lookupedit(); 
        gc.DataSource = dataContext.getObjectList("RN_BUDGET_SETTINGS", "*", 0, "", "", 0, 0);
        gv.BestFitColumns();
    }

    private void fill_tanim_lookupedit()
    {
        int cnt = gv.DataRowCount;

        lookUpEditTanim = new RepositoryItemLookUpEdit();
        lookUpEditTanim.DataSource = dataContext.getObjectList("RN_BUDGET_SETTINGS_VARIABLES", "*", 0, "", "", 0, 0);
        lookUpEditTanim.ValueMember = "VARIABLE";
        lookUpEditTanim.DisplayMember = "VARIABLE";

        gv.Columns[0].ColumnEdit = lookUpEditTanim;
    }

フォームが読み込まれると、グリッドが入力され、lookupeditsが入力されますが、データベースに従って必要なデータでlookupeditsが選択されません。どうやってやるの?

ニランジャンシン

セル値に従ってエディター値を表示する場合は、ValueMemberプロパティに指定された列に、現在セルにある値が含まれている必要があります。

例:
指定されたスクリーンショットでは、Tanm列に変数IDがあり、列に変数名を表示する場合、ValueMemberフィールドはIDであり、であるDisplayMember必要がありますVariable

コードスニペットの例:

LookUpEdit ledMyControl;
RepositoryItemLookUpEdit _myRepositoryLookup;
RepositoryItemButtonEdit rbtnEdit;
GridControl grid;
GridView view;
GridView detailView;
GridLevelNode detailNode;
List<Category> categories = new List<Category>();
public GridRepositoryItemTest()
{
    InitializeComponent();
    CreateLookupEdit();
    InitializeGrid();
    SetRepositoryLoopEdit();
    InitializeAndAddColumnsToViews();

    InitializeAndBindDataSource();

    detailView.Columns["Category"].ColumnEdit = _myRepositoryLookup;            
}

private void CreateLookupEdit()
{
    ledMyControl = new LookUpEdit();
    ledMyControl.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Key"));
    ledMyControl.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Value"));

    this.Controls.Add(ledMyControl);
    Dictionary<string, string> dic = new Dictionary<string, string>();
    dic.Add("Test", "1");
    dic.Add("Test2", "2");
    dic.Add("Test3", "3");
    dic.Add("Test4", "4");
    dic.Add("Test5", "5");
    dic.Add("Test6", "6");
    dic.Add("Test7", "7");
    dic.Add("Test8", "8");
    dic.Add("Test9", "9");
    dic.Add("Test10", "10"); ledMyControl.Properties.DisplayMember = "Value";
    ledMyControl.Properties.ValueMember = "Key";
    ledMyControl.Properties.DataSource = dic.ToList();

    ledMyControl.Properties.Columns[0].Visible = false;
}

private void InitializeGrid()
{
    grid = new GridControl();
    view = new GridView(grid);
    detailView = new GridView(grid);
    detailNode = grid.LevelTree.Nodes.Add("Books", detailView);
    grid.Dock = DockStyle.Fill;
    this.Controls.Add(grid);
    detailView.ValidateRow += new DevExpress.XtraGrid.Views.Base.ValidateRowEventHandler(detailView_ValidateRow);

}

void detailView_ValidateRow(object sender, DevExpress.XtraGrid.Views.Base.ValidateRowEventArgs e)
{
    MessageBox.Show("It's working");
}        

private void InitializeAndAddColumnsToViews()
{
    if (view != null && detailView != null)
    {
        view.Columns.AddField("CategoryID").VisibleIndex = 0;
        detailView.Columns.AddField("ID").VisibleIndex = 0;
        detailView.Columns.AddField("Name").VisibleIndex = 1;
        detailView.Columns.AddField("Category").VisibleIndex = 2;                    
    }
}

private void InitializeAndBindDataSource()
{
    CreateCategories();
    BindingList<BookDetail> bookDetails = new BindingList<BookDetail>();

    BookDetail bookDetail = null;
    for (int j = 0; j < 5; j++)
    {
        bookDetail = new BookDetail { CategoryID = categories[j].ID };
        for (int i = 0; i < 5; i++)
        {
            bookDetail.Books.Add(new Book
            {
                ID = 1,
                Name = "Book - " + (i + 1),
                Category = categories[j].ID
            });
        }
        bookDetails.Add(bookDetail);
    }
    grid.DataSource = bookDetails;
}

private void CreateCategories()
{
    for (int i = 1; i <= 10; i++)
    {
        categories.Add(new Category
        {
            ID = i,
            Name = "Category - " + i
        });
    }
}

private void SetRepositoryLoopEdit()
{
    //rbtnEdit.Click += new EventHandler(rbtnEdit_Click);
    //rbtnEdit.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(rbtnEdit_ButtonClick);
    _myRepositoryLookup = new RepositoryItemLookUpEdit();
    _myRepositoryLookup.Name = "redCategories";
    _myRepositoryLookup.DataSource = categories;
    _myRepositoryLookup.ValueMember = "ID";
    _myRepositoryLookup.DisplayMember = "Name";
    grid.RepositoryItems.Add(_myRepositoryLookup);         
    _myRepositoryLookup.EditValueChanged += new EventHandler(_myRepositoryLookup_EditValueChanged);               

}

void rbtnEdit_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
    throw new NotImplementedException();
}

void rbtnEdit_Click(object sender, EventArgs e)
{
    throw new NotImplementedException();
}

void _myRepositoryLookup_EditValueChanged(object sender, EventArgs e)
{
    //your code here
}

上記のように実行しておらず、列セルに従って値を取得したい場合。次に、インプレースエディタの概要See Alsoを取得し、ページセクションを確認する必要があります。そこに、個々のセルへのエディタの割り当てが1つ表示されます

例:

using DevExpress.XtraGrid.Views.Grid;

private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) {
   if (e.Column.FieldName == "FieldName") return;
   GridView gv = sender as GridView;
   string fieldName = gv.GetRowCellValue(e.RowHandle, gv.Columns["FieldName"]).ToString();
   switch (fieldName) {
      case "Population":
         e.RepositoryItem = repositoryItemSpinEdit1;
         break;
      case "Country":
         e.RepositoryItem = repositoryItemComboBox1;
         break;
      case "Capital":
         e.RepositoryItem = repositoryItemCheckEdit1;
         break;
   }           
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jqueryで複数のテキストボックステキストを選択して設定する方法

分類Dev

TextViewの選択したテキストの背景色を設定する方法

分類Dev

選択したアイテムのテキストの色をHtml.Listboxで設定する方法

分類Dev

WinFormsでコンボボックスの選択したテキストを設定する正しい方法は?

分類Dev

イオン選択テキストを設定する

分類Dev

テキストボックスを設定する方法/必要に応じて選択する-JavaScriptを使用する

分類Dev

editTextFocusChange-Androidでテキストを編集するためにスピナーが選択したアイテムを設定する方法

分類Dev

datetimepickerを表示し、選択した値をテキストフィールドに設定する方法

分類Dev

JTextAreaインスタンスで選択したテキストに太字のフォントスタイルを設定する方法

分類Dev

TabLayout.Tabの選択されていないテキストの色を設定する方法-Android

分類Dev

選択ドロップダウンでデフォルトのテキストを自動的に設定する

分類Dev

OneNoteで選択したテキストのフォントを設定するためのショートカットを設定する

分類Dev

jqueryで選択したテキストの前後を選択する方法

分類Dev

SQLステートメントで値を選択して設定する

分類Dev

反応+酵素で要素テキストを選択する方法

分類Dev

反応+酵素で要素テキストを選択する方法

分類Dev

反応+酵素で要素テキストを選択する方法

分類Dev

反応+酵素で要素テキストを選択する方法

分類Dev

TextBoxでテキストを選択する方法

分類Dev

最初の文字までテキストを選択する方法は?

分類Dev

QPainterで選択可能なテキストを描画する方法は?

分類Dev

SwingのTextAreaで特定のテキストを選択する方法

分類Dev

Selenium - 可変テキストで要素を選択する方法

分類Dev

リストボックスで選択した領域を設定する方法

分類Dev

選択したテキストボックスから別のテキストボックスにJavaScript変数値を設定する方法

分類Dev

Angularの動的オプションリストで選択したアイテムを設定する方法

分類Dev

BottomNavigationViewで選択したアイテムを設定する方法

分類Dev

iOSでXamarin.formsタブページの選択されていないアイコンとテキストの色を設定する方法

分類Dev

jQuery:テキストに基づいて選択リスト 'selected'を設定すると、奇妙に失敗する

Related 関連記事

  1. 1

    jqueryで複数のテキストボックステキストを選択して設定する方法

  2. 2

    TextViewの選択したテキストの背景色を設定する方法

  3. 3

    選択したアイテムのテキストの色をHtml.Listboxで設定する方法

  4. 4

    WinFormsでコンボボックスの選択したテキストを設定する正しい方法は?

  5. 5

    イオン選択テキストを設定する

  6. 6

    テキストボックスを設定する方法/必要に応じて選択する-JavaScriptを使用する

  7. 7

    editTextFocusChange-Androidでテキストを編集するためにスピナーが選択したアイテムを設定する方法

  8. 8

    datetimepickerを表示し、選択した値をテキストフィールドに設定する方法

  9. 9

    JTextAreaインスタンスで選択したテキストに太字のフォントスタイルを設定する方法

  10. 10

    TabLayout.Tabの選択されていないテキストの色を設定する方法-Android

  11. 11

    選択ドロップダウンでデフォルトのテキストを自動的に設定する

  12. 12

    OneNoteで選択したテキストのフォントを設定するためのショートカットを設定する

  13. 13

    jqueryで選択したテキストの前後を選択する方法

  14. 14

    SQLステートメントで値を選択して設定する

  15. 15

    反応+酵素で要素テキストを選択する方法

  16. 16

    反応+酵素で要素テキストを選択する方法

  17. 17

    反応+酵素で要素テキストを選択する方法

  18. 18

    反応+酵素で要素テキストを選択する方法

  19. 19

    TextBoxでテキストを選択する方法

  20. 20

    最初の文字までテキストを選択する方法は?

  21. 21

    QPainterで選択可能なテキストを描画する方法は?

  22. 22

    SwingのTextAreaで特定のテキストを選択する方法

  23. 23

    Selenium - 可変テキストで要素を選択する方法

  24. 24

    リストボックスで選択した領域を設定する方法

  25. 25

    選択したテキストボックスから別のテキストボックスにJavaScript変数値を設定する方法

  26. 26

    Angularの動的オプションリストで選択したアイテムを設定する方法

  27. 27

    BottomNavigationViewで選択したアイテムを設定する方法

  28. 28

    iOSでXamarin.formsタブページの選択されていないアイコンとテキストの色を設定する方法

  29. 29

    jQuery:テキストに基づいて選択リスト 'selected'を設定すると、奇妙に失敗する

ホットタグ

アーカイブ