c# 如何设计“点击按键后弹出一个窗口,显示SQL查询内容”

在VS2008的c#环境下,我想新建一个窗体,其中一个按钮被点击后,就会弹出一个新的窗体,新窗体里显示的是SQL查询结果,一般是保存在DATAGRIDVIEW中吧?然后新... 在VS2008的c#环境下,我想新建一个窗体,其中一个按钮被点击后,就会弹出一个新的窗体,新窗体里显示的是SQL查询结果,一般是保存在DATAGRIDVIEW中吧?然后新窗体中还有一个BUTTON,点击后就会自动将查询结果导出为EXCEL。怎么搞啊?或者哪位大虾提供相关新手教程呀?有满意的再追五十分哈 展开
 我来答
百度网友0c5e331
2010-12-24 · 超过22用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:0
展开全部
可以再加一个窗体提供选择要导出的字段 点击该窗体的Button才真正导出数据代码与楼上相似
这是选择字段的那个窗体的代码,好好研究一下:
public partial class SelectToPDFOrExcel : Form
{
public SelectToPDFOrExcel(DataGridView dgv)
{
InitializeComponent();

Dgv = dgv;

listInt = new List<int>();
}

private DataGridView Dgv;

public List<int> listInt { get; set; }

private void SelectToPDFOrExcel_Load(object sender, EventArgs e)
{
try
{
if (Dgv.Columns[0].HeaderText == "操作")
{
for (int i = 1; i < Dgv.Columns.Count; i++)
{
listTwo.Items.Add(Dgv.Columns[i].HeaderText);
}
}
else
{
for (int i = 0; i < Dgv.Columns.Count; i++)
{
listTwo.Items.Add(Dgv.Columns[i].HeaderText);
}
}

}
catch (Exception ex)
{
return;
}
}

private void btnRemove_Click(object sender, EventArgs e)
{
try
{
string selectvalue = listTwo.Text;
if (listTwo.Text == "")
{
MessageBox.Show("选择需要移除的项!","提示");
return;
}
listTwo.Items.RemoveAt(listTwo.SelectedIndex);
listOne.Items.Add(selectvalue);

}
catch (Exception ex)
{
return;
}
}

private void btnAdd_Click(object sender, EventArgs e)
{
try
{
string selectvalue = listOne.Text;
if (listOne.Text == "")
{
MessageBox.Show("选择需要添加的项!","提示");
return;
}
listOne.Items.RemoveAt(listOne.SelectedIndex);
listTwo.Items.Add(selectvalue);
}
catch (Exception ex)
{
return;
}
}

private void btnOut_Click(object sender, EventArgs e)
{
try
{
if (listTwo.Items == null || listTwo.Items.Count == 0)
{
MessageBox.Show("请选择需要导出的字段!","提示");
return;
}
for (int i = 0; i < Dgv.Columns.Count; i++)
{
for (int j = 0; j < listTwo.Items.Count; j++)
{
if (Dgv.Columns[i].HeaderText == listTwo.Items[j].ToString())
{
listInt.Add(i);
}
}
}
this.Close();
}
catch (Exception ex)
{
return;
}
}

private void SelectToPDFOrExcel_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.KeyValue == 13)
{
if (listTwo.Items == null || listTwo.Items.Count == 0)
{
MessageBox.Show("请选择需要导出的字段!","提示");
return;
}
for (int i = 0; i < Dgv.Columns.Count; i++)
{
for (int j = 0; j < listTwo.Items.Count; j++)
{
if (Dgv.Columns[i].HeaderText == listTwo.Items[j].ToString())
{
listInt.Add(i);
}
}
}
this.Close();
}

}
catch (Exception ex)
{
return;
}
}

private void SelectToPDFOrExcel_FormClosed(object sender, FormClosedEventArgs e)
{
this.Close();
}
}
灬星辰丶aile
2010-12-24 · TA获得超过1030个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:413万
展开全部
public static void GetDataGridView(DataGridView pDgv)
{
#region Excel导入DataGridView
//打开一个文件选择框
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
try
{
System.Data.DataTable lvTable = new System.Data.DataTable();
string fileName = ofd.FileName.Trim();
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + fileName + ";" + "Extended Properties='Excel 8.0; IMEX=1;'";
OleDbConnection con = new OleDbConnection(connStr);
con.Open();

string strsql = "select * from [sheet1$]"; //Excel的工作表名
OleDbDataAdapter dta = new OleDbDataAdapter(strsql, connStr);
DataSet ds = new DataSet();
dta.Fill(ds);
lvTable = ds.Tables[0].Clone(); //克隆表结构
string lvColumnsName = ds.Tables[0].Columns[ds.Tables[0].Columns.Count - 1].ColumnName;
lvTable.Columns.RemoveAt(lvTable.Columns.Count - 1);
DataColumn lvColumn = new DataColumn(lvColumnsName,typeof(string));
lvTable.Columns.Add(lvColumn);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i][0].ToString().Trim() != "")
{
lvTable.Rows.Add(ds.Tables[0].Rows[i].ItemArray);
}
}
for (int i = 0; i < lvTable.Rows.Count; i++)
{
string a = (Convert.ToDouble(lvTable.Rows[i][lvTable.Columns.Count - 1]) * 100).ToString() + "%";
lvTable.Rows[i][lvTable.Columns.Count - 1] = a;
}
pDgv.DataSource = lvTable; //绑定
}
catch (Exception ex)
{
MessageBox.Show("文件打开失败" + ex.ToString());
}
}
#endregion
}
把datagridview传进去 不会百度HI我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengylm
2010-12-24 · TA获得超过162个赞
知道答主
回答量:228
采纳率:0%
帮助的人:209万
展开全部
先设计一个需要弹出的页面 F2 ,然后再F2的load事件中做SQL查询和绑定datagridview的动作

然后再主窗体的button按钮的事件下放入如下代码

Form f2=new Form();
f2.Show();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式