如何仅显示数据表中的某些列?

Asked
Viewd36161

2

我正在使用返回数据集的Web服务。在此数据集中,有5个表,比如表A,B,C,D,E。我使用表A。

所以

 DataTable dt = new DataTable()
dt = dataset.Table["A"]
 

此数据表中现在有a1,a2,a3,a4,a5,a6,a7列。

假设我只想获取列a3和a4,然后将其绑定到我的数据网格。

我该怎么做?

6 个答案

11

忽略数据多于所需的事实。将AutoGenerateColumns设置为false。为BoundColumnsa3创建a4

1

我将绑定整个表,然后按如下所示设置各列的可见性

 dgvMain.Columns[ColumnA3_Name].Visible = true;
dgvMain.Columns[ColumnA1_Name].Visible = false;
 
5

我建议为需要的任何人阅读4GuysFromRolla的这篇文章这篇文章对DataGrid Web控件有很好的了解。

注意:由于此问题已经回答。我想弄清楚需要做些什么,以防万一其他人想知道。

 DataSet ds;

//Get Data
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        // Create the command and set its properties.
        SqlCommand command = new SqlCommand();
        command.Connection = connection;
        command.CommandText = "GetMyData";
        command.CommandType = CommandType.StoredProcedure;

        ds = connection.ExecuteDataSet();
    }
if(ds !=null && ds.Tables.Count > 0)
{
    dg.DataSource = ds.Tables[0];
    // disable autogeneration of columns
    dg.AutoGenerateColumns = false;
    //Hide unecessary columns
    dg.Columns["a3"].Visible = false;
    dg.Columns["a4"].Visible = false;
}