private void button1_Click(object sender, EventArgs e)
{
int cqnum=-1;
int rynum=-1;
try
{
cqnum=Convert.ToInt32(textBox3.Text);
rynum = set.Tables[0].Rows.Count;
}
catch (Exception)
{
MessageBox.Show("输入的内容有误,请填写数字类型的抽签人数");
return ;
}
if (cqnum >= rynum)
{
MessageBox.Show("抽取的人数必须小于总人数");
return;
}
if(cqnum>0)
{
int[] a = GetRandomSequence0(cqnum, rynum);
sjs(set, a);
}
}
//int i = 1;
public void sjs(DataSet set,int [] a)
{
textBox1.Text = "";
if (s == null)
{
s = new DataTable();
s.TableName = "姓名";
s.Columns.Add("姓名");
}
else
{
s.Rows.Clear();
}
for (int i = 0; i < a.Length;i )
{
textBox1.Text = (i 1) " " set.Tables[0].Rows[a[i]]["姓名"].ToString() "\r\n";
}
// s.Rows.Add();
}
public static int[] GetRandomSequence0(int total,int fw)
{
int[] hashtable = new int[fw];
int[] output = new int[total];
Random random = new Random();
for (int i = 0; i < total; i )
{
int num = random.Next(1, fw);
while (hashtable[num] > 0)
{
num = random.Next(1, fw);
}
output[i] = num;
hashtable[num] = 1;
}
return output; }
private void button2_Click(object sender, EventArgs e)
{
if (s != null&&s.Rows.Count>0)
{
bl.To_Excel(s);
}
}