0

私は要求番号を持つコンボボックスを持っています。コンボボックスで r001 のような要求項目の 1 つを選択すると、その情報が下のデータグリッドに取り込まれます。私はこれにストロード手順を使用しました。しかし、データグリッド ビュー コントロールを情報にバインドする方法がわかりません。

コード:

private void cmbreqno_SelectedIndexChanged(object sender, EventArgs e)
    {

        cmd.Connection = con;
        if (con.State != ConnectionState.Open)
        {
            con.Open();
        }

        txtcc.Text = "";
        int selection = Convert.ToInt16(((KeyValuePair<string, string>)(cmbreqno.SelectedItem)).Key);
        if (selection.ToString() != "")
        {

            cmd.Connection = con;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "itemname";
            cmd.Parameters.AddWithValue("@req_no", selection);
            dsitemname.Clear();
            adp = new SqlDataAdapter(cmd);
            adp.Fill(dsitemname);
            txtcc.Text = dsitemname.Tables[1].Rows[0]["costcenter_no"].ToString();
            txtcc.Tag = dsitemname.Tables[1].Rows[0]["costcenter_id"].ToString();

            cmd.Parameters.Clear();
}

ストアド プロシージャ:

alter proc itemname
(
    @req_no int
)
as begin
select item_name,brand_name,quantity,requisitionitem.item_cost
from requisitionitem left outer join item
on requisitionitem.item_id=item.item_id
where requisitionitem.req_no=@req_no
end
4

2 に答える 2

0

にデータバインドするだけDataTableですDataGridView

dataGridView1.DataSource = null; //clear old one
dataGridView1.Rows.Clear(); //remove old rows
dataGridView1.DataSource = dsitemname.Tables[0];
于 2013-05-13T08:53:41.070 に答える
0

次のようになります。

            con.Open();
            int selection = Convert.ToInt16(((KeyValuePair<string, string>)(cmbreqno.SelectedItem)).Key);
            cmd = new SqlCommand("storedProcedureName", con);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@req_no",selection);
            da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            GridView1.DataSource = ds.Tables[0];
            GridView1.DataBind();
            cmd.ExecuteNonQuery();

お役に立てば幸いです。

于 2013-05-13T08:52:51.837 に答える