试图想办法换掉2个按钮有点麻烦。让我们潜入并向您展示代码:
int mCatID;
int mTempPos;
mCatID = mCatButList[mValidCatNumber - 1].mCatID - 1;
if (mTempOldPos.ToString() != txtCatPos.Text) // Attempt to change position
{
foreach (DataRow row in mIMenu.mCategoryList.Rows) // Check if space is taken
{
if (row[2].ToString() == txtCatPos.Text) // Space is taken
{
mCatOldIDX = mTempOldID - 2;
mTempDesc = mIMenu.mCategoryList.Rows[mCatOldIDX][1].ToString();
mIMenu.mCategoryList.Rows[mCatOldIDX][1] = row[1].ToString(); // desc
mIMenu.mCategoryList.Rows[mCatOldIDX][2] = (int)row[2]; // pos
row[1] = mTempDesc;
row[2] = mTempOldPos; //RP change new location to old
mCatOldIDX = 0;
mIMenu.mCategoryList.AcceptChanges();
break;
}
}
// mIMenu.mCategoryList.DefaultView.Sort = "POS asc";
CreateCatButList();
DisplayMenuCategories();
[编辑]我修改了代码,现在它似乎确实交换了按钮控件的位置一次。但是,如果我交换其中两个控件,然后用另一个按钮交换其中一个交换按钮,它似乎搞乱了所有其他按钮上的所有位置值!?这真的开始让我感到烦恼..为什么它第一次起作用然后不适合其他人?我已经尝试接受更改但仍然没有效果..它与数据表mIMenu.mCategoryList
中的值有关,其中列[1]
是描述,[2]
是位置。令人沮丧的是,为什么一旦改变值就会起作用,然后一旦状态改变为修改后决定恢复到较旧的位置值?