Winforms DataGridView在左侧显示多余的列-如何摆脱它?

Winforms DataGridView在左侧显示多余的列-如何摆脱它?,winforms,datagridview,Winforms,Datagridview,My DataGridView显示一个“0”列,第一行为delta,第二行为*。我不要这些。它们占用了太多的空间。有没有办法让他们离开 我不认为代码在这种情况下是相关的,但为了让大家感到幽默,这里是: private void PopulateLanguageAndPrimary() { string query; OracleDataAdapter da; OracleDataTable dt; OracleCommand oc; try {

My DataGridView显示一个“0”列,第一行为delta,第二行为*。我不要这些。它们占用了太多的空间。有没有办法让他们离开

我不认为代码在这种情况下是相关的,但为了让大家感到幽默,这里是:

private void PopulateLanguageAndPrimary() {
    string query;
    OracleDataAdapter da;
    OracleDataTable dt;
    OracleCommand oc;

    try {
        oracleConnectionMainForm.Open();
        query = "select position, coach from players where team = :team";
        da = new OracleDataAdapter();
        oc = new OracleCommand(query, oracleConnectionMainForm);
        oc.Parameters.Add("team", greenBayPackers);
        da.SelectCommand = oc;
        dt = new OracleDataTable();
        da.Fill(dt);
        dataGridViewLanguageAndPrimary.DataSource = dt;
    } catch (OracleException ex) {
        MessageBox.Show(ex.Message);
    } finally {
        oracleConnectionMainForm.Close();
    }
}
  • 新增尖叫射击:

尝试将
DataGridViewLanguage和Primary.allowUserToAddress
设置为false。这将删除*。然后将
RowHeadersVisible
设置为false,隐藏多余的列。

如果想获得帮助,您需要提供更多详细信息、一些代码等。我们看不到您的datagridview,因此我们猜测问题出在哪里。甚至是你看到的屏幕截图。你是否将
AutoGenerateColumns
设置为
true
?@CAbbott:DataGridView for Winforms没有这样的属性。@bluefeet:我如何或在哪里发布屏幕截图?这背后的代码与网格的外观无关——它只是查询数据库的代码,然后将DataAdapter、DataTable、OracleConnection、OracleCommand相互连接并连接到此DataGridView。我只想显示两列——我通过查询获取的两列,没有额外的内容(默认情况下是这样的)。@ClayShannon:DataGridView.AutoGenerateColumns。去掉了“*”列;我们在正确的轨道上。delta必须有另一个“AllowUserToX”属性。您是指带有“0”的行吗?我很确定这是来自一个空的DataTable/DataSet,因此如果您尝试不分配DataSource,或者检查DataTable.Rows属性的.Count(或者长度,我忘记了),我将所有的“AllowUserToX”属性都更改为false,但我仍然有多余的带有delta的列。不,我指的是列(实际上不是列,如图所示)“Language”是第0列。我可以在运行时将其拖到一边/覆盖它。我想知道是否有办法在代码中实现这一点,或者将其宽度设置为0?这就是问题所在(RowHeadersVisible=false)!