【发布时间】:2017-05-19 09:28:32
【问题描述】:
这对你们当中的专家来说可能很容易,但我正在尝试找出如何在 Visual Studio 2015 中使用 C# 调整 Windows 应用程序中数据网格的列。
我的代码如下。我已经阅读了 AutoResize 之类的命令,但我不知道如何以及将它放在我的代码中的位置。我尝试的一切都只是出现语法错误,或者没有调整大小的选项:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication5
{
public partial class Main : Form
{
int BugID = 0;
public Main()
{
InitializeComponent();
}
private void txtUser_TextChanged(object sender, EventArgs e)
{
}
Reset();
FillDataGridView();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "There is an error. Please review");
}
finally
{
sqlCon.Close(); // close the connection
}
}
void FillDataGridView() // The below is to display the search results in the Data Grid View box using the stored procedure for search results
{
if (sqlCon.State == ConnectionState.Closed)
sqlCon.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter("BugViewOrSearch", sqlCon);
sqlDa.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlDa.SelectCommand.Parameters.AddWithValue("@BugIssue", txtSearch.Text.Trim());
DataTable dtbl = new DataTable();
sqlDa.Fill(dtbl);
dgvIssues.DataSource = dtbl;
sqlCon.Close();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void btnSearch_Click(object sender, EventArgs e)
{
try
{
FillDataGridView();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "There is an error. Please review");
}
}
private void dgvIssues_DoubleClick(object sender, EventArgs e)
{
if(dgvIssues.CurrentRow.Index != -1) // For updating an issue when double clicking on a row/issue
{
BugID = Convert.ToInt32(dgvIssues.CurrentRow.Cells[0].Value.ToString());
txtUser.Text = dgvIssues.CurrentRow.Cells[1].Value.ToString();
txtSubject.Text = dgvIssues.CurrentRow.Cells[2].Value.ToString();
txtDescription.Text = dgvIssues.CurrentRow.Cells[3].Value.ToString();
btnCreate.Text = "Update Issue"; // Changes the button from 'Create Issue' to 'Update Issue'
btnDelete.Enabled = true;
}
}
void Reset() // To reset all field of the form
{
txtUser.Text = txtSubject.Text = txtDescription.Text = "";
btnCreate.Text = "Create Issue";
BugID = 0;
btnDelete.Enabled = false;
}
private void btnRefresh_Click(object sender, EventArgs e)
{
Reset(); // Calls the reset function above
}
private void Main_Load(object sender, EventArgs e)
{
Reset();
FillDataGridView();
// To show all bugs/issues in the database
}
}
}
我需要列来适应文本或至少填充灰色空间。
任何提示都会很有用。
谢谢
【问题讨论】:
-
您可能希望从代码示例中删除与 SQL 相关的所有内容,以使其简洁。关于您的问题,数据来自哪里并不重要。
-
DataGridView.AutoResizeColumns Method 输入方法(又名“命令”)并按 F1 会告诉您您需要知道的一切
-
我看到你已经注意到我对编程的术语不太了解。让我休息一下。我正在尝试
标签: c# datagridview autoresize column-width