我的Windows窗体中有datagridview
,我添加了5列。
Item Code | Description | Quantity | Rate | Item Total
这些是我在数据网格视图中的列标题。
我正在使用以下过程从数据库检索数据到数据集。
create proc [dbo].[get_an_invoice_details]
@inv_no int
as
select
inv_item_code, inv_item_desc, inv_item_qty, inv_item_rate,
(inv_item_qty * inv_item_rate) item_total
from
invoice
where
inv_no = @inv_no;
GO
现在我想在名为Item Code的数据gridview列中显示此项代码。分别与其他列相同。但是当我将数据集变量作为数据源时,它将不会显示出来。数据正在显示。但不是在这个专栏中。生成5个新列,这些列在网格视图中为空白。请看屏幕截图。我将自动生成列属性设置为false。但后来没有任何表现。
这是检索按钮的代码:
private void btn_retrieve_Click(object sender, EventArgs e)
{
dtgrdvw_items.AutoGenerateColumns = false;
string sql = "get_an_invoice_details @inv_No=" + Convert.ToInt32(txt_inv_no.Text) + ";";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
con.Open();
da.Fill(ds, "invoice");
con.Close();
dtgrdvw_items.DataSource = ds;
dtgrdvw_items.DataMember = "invoice";
}
检索后的应用程序截图
答案 0 :(得分:0)
为DataPropertyName
添加DataGridView
,如下面的代码所示。你应该好。
private void btn_retrieve_Click(object sender, EventArgs e)
{
dtgrdvw_items.AutoGenerateColumns = false;
dtgrdvw_items.Columns[0].DataPropertyName = "inv_item_code";
dtgrdvw_items.Columns[1].DataPropertyName = "inv_item_desc";
dtgrdvw_items.Columns[2].DataPropertyName = "inv_item_qty";
dtgrdvw_items.Columns[3].DataPropertyName = "inv_item_rate";
dtgrdvw_items.Columns[4].DataPropertyName = "inv_item_total";
string sql = "get_an_invoice_details @inv_No=" +
Convert.ToInt32(txt_inv_no.Text) + ";";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
con.Open();
da.Fill(ds, "invoice");
con.Close();
dtgrdvw_items.DataSource = ds;
dtgrdvw_items.DataMember = "invoice";
}
答案 1 :(得分:0)
dtgrdvw_items.Columns [0] .HeaderText =" Item Code";