首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

如何样动态绑定DataGridView

2012-06-21 
怎么样动态绑定DataGridView在这个form页面里面,左侧有三个选项ABC,点击确定后,选中后分别按照各自的条件

怎么样动态绑定DataGridView
在这个form页面里面,左侧有三个选项ABC,点击确定后,选中后分别按照各自的条件搜索数据库,将结果显示在右侧的DataGridView里面。我要怎么做呢?  

第二天上路的菜鸟,希望各位大侠指点。

[解决办法]
每次重新设置sql语句,然后重新绑定到datagridview
[解决办法]
当你选择对应的选项ABC
执行对应的SQL查询语句,然后将数据绑定至DataGridView就好
[解决办法]
类似于这样

C# code
using System;using System.Data;using System.Data.SqlClient;using System.Windows.Forms;using System.Drawing;public class Form1 : System.Windows.Forms.Form{    private DataGridView dataGridView1 = new DataGridView();    private BindingSource bindingSource1 = new BindingSource();    public Form1()    {        dataGridView1.Dock = DockStyle.Fill;        this.Controls.Add(dataGridView1);        InitializeDataGridView();    }    private void InitializeDataGridView()    {        try        {            // Set up the DataGridView.            dataGridView1.Dock = DockStyle.Fill;            // Automatically generate the DataGridView columns.            dataGridView1.AutoGenerateColumns = true;            // Set up the data source.            bindingSource1.DataSource = GetData("Select * From Products");            dataGridView1.DataSource = bindingSource1;            // Automatically resize the visible rows.            dataGridView1.AutoSizeRowsMode =                DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;            // Set the DataGridView control's border.            dataGridView1.BorderStyle = BorderStyle.Fixed3D;            // Put the cells in edit mode when user enters them.            dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;        }        catch (SqlException)        {            MessageBox.Show("To run this sample replace connection.ConnectionString" +                " with a valid connection string to a Northwind" +                " database accessible to your system.", "ERROR",                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);            System.Threading.Thread.CurrentThread.Abort();        }    }    private static DataTable GetData(string sqlCommand)    {        string connectionString = "Integrated Security=SSPI;" +            "Persist Security Info=False;" +            "Initial Catalog=Northwind;Data Source=localhost";        SqlConnection northwindConnection = new SqlConnection(connectionString);        SqlCommand command = new SqlCommand(sqlCommand, northwindConnection);        SqlDataAdapter adapter = new SqlDataAdapter();        adapter.SelectCommand = command;        DataTable table = new DataTable();        table.Locale = System.Globalization.CultureInfo.InvariantCulture;        adapter.Fill(table);        return table;    }    [STAThreadAttribute()]    public static void Main()    {        Application.Run(new Form1());    }}
[解决办法]
绑定不变,选中后,先清空原来绑定表,查询加载数据到绑定表即可。
[解决办法]
可以把abc放到一个listbox控件里,
点击触发changge事件。在事件里写查询语句,
[解决办法]
C# code
//比如你用radiobutton,设置好这三个单选项,可以这样写:string conn = "data source=.;initial catalog=capucivar;user id=sa;pwd="; SqlConnection mycon = new SqlConnection(conn);mycon.Open();string selery;if (radiobutton1 == true) //条件选项1 {    selery = "SQL语句B"; } if (radiobutton2 == true) //条件选项2 {    selery = "SQL语句B"; } if (radiobutton3 == true) //条件选项3 {     selery = "SQL语句C"; } SqlDataAdapter SQLDA = new SqlDataAdapter(selery, conn); DataSet DS = new DataSet(); SQLDA.Fill(DS); this.datagridview1.DataSource = DS.Tables[0].DefaultView; //绑定显示你要的datagridview表; 

热点排行