نمایش نتایج 1 تا 5 از 5

نام تاپیک: کمبو باکس در datagridview

  1. #1
    کاربر دائمی آواتار f.nabavi
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    طهرون جدید
    پست
    255

    کمبو باکس در datagridview

    سلام. من یه datagridview دارم که به یه dataset متصلش کردم. حالا میخوام یکی از ستونهای datagrid به صورت combo باشه و از یه table دیگه پر بشه. مثلا برای انتخاب نام شهر محل تولد یه کمبو باز بشه که محتویات جدول نام شهر ها رو داشته باشه. این کمبو رو چه جوری بسازم؟

  2. #2
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: کمبو باکس در datagridview

    سلام دوست من
    ابتدا شما ستونهای دیتاکراید رو از طریق کد نویسی اضافه کنید
    Dim col_id_kala As DataGridViewTextBoxColumn
    Dim col_kala_name As DataGridViewComboBoxColumn

    Public Sub Design_Gridview(ByRef Gridview As DataGridView)
    ' دیتاگراید ویودر حالت اجرا
    Gridview.DataSource = Nothing
    Gridview.Columns.Clear()
    Gridview.Rows.Clear()
    Gridview.Refresh()
    Gridview.AutoGenerateColumns = False
    col_id_kala = New DataGridViewTextBoxColumn
    With col_id_kala
    .Name = "col_id"
    .DataPropertyName = "id_kala"
    .HeaderText = "کد کالا"
    .Width = 80
    End With
    col_kala_name = New DataGridViewComboBoxColumn
    With col_kala_name
    .Name = "col_kala_name"
    .DataPropertyName = "name_kala"
    .HeaderText = "شــــرح کالا"
    .Width = 200
    .AutoComplete = True
    .DisplayStyleForCurrentCellOnly = True
    .FlatStyle = FlatStyle.System
    End With

    Gridview.Columns.Add(col_id_kala )
    Gridview.Columns.Add(col_kala_name )

    End Sub

    سپس روالی برای پر کردن یک کامبوباکس بسازید
    Private Sub fill_sombodg(ByVal ComboBox1 as DataGridViewComboBoxColumn ) 
    ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
    ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems
    Dim CNN As OleDbConnection
    Dim DAP As OleDbDataAdapter
    Dim DS As DataSet
    Dim cnnstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
    CNN = New OleDbConnection(cnnstr)
    cmd = New OleDbCommand
    DAP = New OleDbDataAdapter("select * from table1", cnnstr)
    DS = New DataSet
    DAP.Fill(DS, "table1")
    ComboBox1.DataSource = DS.Tables("table1")
    ComboBox1.DisplayMember = "name_kala"
    ComboBox1.ValueMember = "id"

    DAP.Dispose()

    End Sub

    برای صدا زدن در فرم لود ابتداDesign_Gridview رو صدا بزن با یک ارگومان که همون دیتاکراید ویو شماست سپس روال بعدی مثل fill_sombodg(DG.Columns("col_kala_name")

  3. #3
    کاربر دائمی آواتار f.nabavi
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    طهرون جدید
    پست
    255

    نقل قول: کمبو باکس در datagridview

    ممنون از توجهتون. بازم سئوال دارم: شما کل Grid رو خالی کردید. در حالیکه من میخوام از dataset پر بشه. اگر خالیش نکنم، combo به انتهای جدول اضافه میشه و من دوتا از اون ستون دارم. یکی که داخل dataset بوده و دیگری که من اضافه کردم. حالا چی کار کنم؟

  4. #4

    نقل قول: کمبو باکس در datagridview

    یه راه راحت تر بدون کد نویسی اینه که از propety های مخصوص اون ستونی که combobox کردی استفاده

    کنی یعنی توی property هاش ابتدا datasource و سپس datamember رو روی اون جدولی که می خوای ازش

    پر بشه تنظیم کن

  5. #5
    کاربر دائمی آواتار f.nabavi
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    طهرون جدید
    پست
    255

    نقل قول: کمبو باکس در datagridview

    واقعا ممنون. بدون کد خیلی بهتره!

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •