我在winform里,有好多属性没有,应该是我不会吧,希望高手帮忙,让我能在winform下实现此功能。找的代码如下:
protected void dgBind()//绑定DataGrid
{
xkpgBS=new XKPG.XKPGbasic();
myDs=new DataSet();
myDs=xkpgBS.CheckResult(Session["xk"].ToString().Trim()); dgResult.DataSource=myDs;
dgResult.DataMember="mytable";
dgResult.DataBind(); } private void SpanGrid()//合并相同单无格
{
int i; int j; int intSpan; int NowSpan=0; string strTemp;
j=dgResult.Items.Count;
for(i=0; i<dgResult.Items.Count;i++)
{
intSpan=1;
strTemp =dgResult.Items[i].Cells[0].Text; for(j=i+1;j<dgResult.Items.Count;j++)
{
if(strTemp.Equals(dgResult.Items[j].Cells[0].Text.ToString().Trim()))
{
intSpan += 1;
dgResult.Items[i].Cells[0].RowSpan = intSpan;
dgResult.Items[j].Cells[0].Visible=false;
}
}
NowSpan+=intSpan;
i =NowSpan-1 ;
}
protected void dgBind()//绑定DataGrid
{
xkpgBS=new XKPG.XKPGbasic();
myDs=new DataSet();
myDs=xkpgBS.CheckResult(Session["xk"].ToString().Trim()); dgResult.DataSource=myDs;
dgResult.DataMember="mytable";
dgResult.DataBind(); } private void SpanGrid()//合并相同单无格
{
int i; int j; int intSpan; int NowSpan=0; string strTemp;
j=dgResult.Items.Count;
for(i=0; i<dgResult.Items.Count;i++)
{
intSpan=1;
strTemp =dgResult.Items[i].Cells[0].Text; for(j=i+1;j<dgResult.Items.Count;j++)
{
if(strTemp.Equals(dgResult.Items[j].Cells[0].Text.ToString().Trim()))
{
intSpan += 1;
dgResult.Items[i].Cells[0].RowSpan = intSpan;
dgResult.Items[j].Cells[0].Visible=false;
}
}
NowSpan+=intSpan;
i =NowSpan-1 ;
}
{
int i;
int j;
int intSpan;
string strTemp,strTemp1;
bool flag = true;
for ( i = 0; i <= DG.Items.Count - 1; i++)
{
intSpan = 1;
strTemp = DG.Items[i].Cells[0].Text.ToString().Trim();
if (flag == true)
{
DG.Items[i].BackColor = Color.LemonChiffon;
for ( j = i + 1; j <= DG.Items.Count - 1; j++)
{
strTemp1 = DG.Items[j].Cells[0].Text.ToString().Trim();
if (string.Compare(strTemp, strTemp1) == 0)
{
intSpan += 1;
//设置控件中单元格跨越的行数为intspan
DG.Items[i].Cells[1].RowSpan = intSpan;
//把内容相同单元格隐藏
DG.Items[j].Cells[1].Visible = false;
DG.Items[j].BackColor = Color.LemonChiffon;
}
else
{
goto exitForStatement0;
}
}
exitForStatement0: ;
i = j - 1;
flag = false;
intSpan = 1;
}
else
{
DG.Items[i].BackColor = Color.LightYellow;
for ( j = i + 1; j <= DG.Items.Count - 1; j++)
{
strTemp1 = DG.Items[j].Cells[0].Text.ToString().Trim();
if (string.Compare(strTemp, strTemp1) == 0)
{
intSpan += 1;
DG.Items[i].Cells[1].RowSpan = intSpan;
DG.Items[j].Cells[1].Visible = false;
DG.Items[i].BackColor = Color.LightYellow;
}
else
{
goto exitForStatement1;
}
}
exitForStatement1: ;
i = j - 1;
flag = true;
intSpan = 1;
}
}
}
{
int i;
int j;
int intSpan;
string strTemp,strTemp1;
bool flag = true;
for ( i = 0; i <= DG.Items.Count - 1; i++)
{
intSpan = 1;
strTemp = DG.Items[i].Cells[0].Text.ToString().Trim();
if (flag == true)
{
DG.Items[i].BackColor = Color.LemonChiffon;
for ( j = i + 1; j <= DG.Items.Count - 1; j++)
{
strTemp1 = DG.Items[j].Cells[0].Text.ToString().Trim();
if (string.Compare(strTemp, strTemp1) == 0)
{
intSpan += 1;
//设置控件中单元格跨越的行数为intspan
DG.Items[i].Cells[1].RowSpan = intSpan;
//把内容相同单元格隐藏
DG.Items[j].Cells[1].Visible = false;
DG.Items[j].BackColor = Color.LemonChiffon;
}
else
{
goto exitForStatement0;
}
}
exitForStatement0: ;
i = j - 1;
flag = false;
intSpan = 1;
}
else
{
DG.Items[i].BackColor = Color.LightYellow;
for ( j = i + 1; j <= DG.Items.Count - 1; j++)
{
strTemp1 = DG.Items[j].Cells[0].Text.ToString().Trim();
if (string.Compare(strTemp, strTemp1) == 0)
{
intSpan += 1;
DG.Items[i].Cells[1].RowSpan = intSpan;
DG.Items[j].Cells[1].Visible = false;
DG.Items[i].BackColor = Color.LightYellow;
}
else
{
goto exitForStatement1;
}
}
exitForStatement1: ;
i = j - 1;
flag = true;
intSpan = 1;
}
}
}
{
string strTemp ;
DataTable dt = ds.Tables[0];
int intCout = dt.Rows.Count-1; for(int i=0;i<intCout;i++)
{
strTemp = dt.Rows[i][0].ToString();
for(int j=i+1;j<=intCout+1;j++)
{
if(j != intCout+1)
{
if(strTemp == dt.Rows[j][0].ToString())
{
dt.Rows[i][col] += " " + (string)dt.Rows[j][col];
dt.Rows[j].Delete();
}
else
{
i = j-1;
break;
}
}
else
{
return ds;
}
}
}
return ds;
}